tset123 发表于 2018-9-3 11:57:19

设置Jenkins使用Karma和Eslint进行单元测试和Lint检查

  Jenkins被用作持续集成服务器。 本文主要介绍一下如何配置我们的Jenkins项目构建,以在GitHub上托管的项目上运行单元测试和lint检查。 然后Jenkins负责运行在构建中指定的所有测试。 如果build失败,它会通知所有开发人员,以便他们尽快修复导致build失败的错误。 一旦build在之前的失败之后通过,所有的开发者都会被再次通知build已经好了,新的代码可以被push到repository上。

  对于单元测试,我们使用Jasmine框架进行测试驱动开发。 简单了解一下Lint Checks是什么:
  Linting是检查编程,语法,风格错误的源代码的过程。 它使整个程序以统一的格式。 这可以通过编写一些规则来实现。 有像JSLint,JSHint,ESlint的分支。
  在这里,我们选择配置Jenkins和ESlint。 原因是:
  - 如果使用JSLint的话我们必须严格遵守所有的规则。
  - 如果使用JSHint的话我们可以进行一部分customize。 我们可以启用或禁用现有的规则
  - 如果使用ESlint,我们可以写自己的规则。 它是完全可定制的。
  Eslint使用Node.js编写,以提供快速运行环境和简单的安装。
  配置Jenkins需要遵循的步骤如下:
  1. 在Jenkins server上安装Node.js并且设置好project

  2. 在package.json中设置好dependency
  我们可以在package.json里设置好dependency,这样就不用手动安装和设置了。

  3. 在karma.conf.js里进行以下修改:

  把reporter指定为junit。
  把singleRun设为true,这样只会运行一次然后退出。
  指定输出目录来保存测试结果。
  接下来run “npm install", 会安装package.json里列出的所有的dependency
  然后会把linting的错误保存在eslint.xml里,把测试的结果保存在TEST_RESULTS文件夹的TESTS*.xml里。
  (这里*代表测试用的浏览器和系统环境)
  4. 执行脚本命令:

  5. 给输出("Publish JUnit test result report")配置路径

  6. 用CheckStyle插件用图展示测试结果
  首先需要安装checkstyle插件,然后指定linting的输出为checkstyle的输入

  缺省情况下,这个插件只会在build成功后run, 如果需要在即使build失败了也run的话要勾选"Run always"。
  7. 如果build失败了就通知developer
  在Jenkins Dashboard里,"Manage Jenkins -> Configure System -> Email Notification".

  在project设置里的E-mail Notification, 指定build失败后通知的邮件地址:

  完成设置后,build project之后就可以看到测试结果。


页: [1]
查看完整版本: 设置Jenkins使用Karma和Eslint进行单元测试和Lint检查