设置Jenkins使用Karma和Eslint进行单元测试和Lint检查
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设置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之后就可以看到测试结果。
以上是关于设置Jenkins使用Karma和Eslint进行单元测试和Lint检查的主要内容,如果未能解决你的问题,请参考以下文章
使用 Jenkins 从 Karma.js 获得百分比覆盖率
Karma 没有在 Jenkins CI 中运行,找不到模块 'karma-jasmine'
如何在 Jenkins 上运行的 Karma 单元测试中解决此错误:“找不到变量:jQuery”