单元测试一般不会只在本机执行,使用持续集成工具,每日进行自动化单元测试,对于JavaScript,需要在多个浏览器环境里执行,测试兼容性,我们需要知道多少测试用例没有通过,测试覆盖率等数据等。
1、参考文档
http://karma-runner.github.io/0.12/plus/jenkins.html
http://www.shenyanchao.cn/blog/2013/04/01/run-karma-in-jenkins-ci/
2、在Jenkins服务器上安装node.js
安装步骤参考
3、配置测试相关的插件
在项目目录下打开命令行,执行
4、修改配置文件karma.conf.js
添加测试结果报告和单元测试覆盖率
其中junit report测试插件,会在当前项目目录下生成test-results.xml文件。
coverage覆盖率插件,会在当前目录下生成coverage目录,里面是覆盖率数据文件。
5、Jenkins安装插件
Jenkins Cobertura Plugin 测试覆盖率插件
6、在Jenkins上配置一个自由风格的任务
在源代码管理里,填写项目的SVN地址等,可以让Jenkins正常下载源码
7、构建命令
构建选Execute windows batch command
8、测试选项
构建后操作
Publish Cobertura Coverage Report选项,
在Cobertura xml report pattern里填写
Publish JUnit test result report选项
Test report XMLs里填写
9、测试结果
1、参考文档
http://karma-runner.github.io/0.12/plus/jenkins.html
http://www.shenyanchao.cn/blog/2013/04/01/run-karma-in-jenkins-ci/
2、在Jenkins服务器上安装node.js
安装步骤参考
引用
3、配置测试相关的插件
在项目目录下打开命令行,执行
npm karma-chrome-launcher #chrome浏览器插件 npm karma-firefox-launcher #firefox浏览器插件 npm karma-junit-reporter #junit 测试报告插件 npm karma-coverage #单元测试覆盖率插件
4、修改配置文件karma.conf.js
添加测试结果报告和单元测试覆盖率
module.exports = function(config) { config.set({ // base path, that will be used to resolve files and exclude basePath: '.', frameworks: ['jasmine'], // list of files / patterns to load in the browser files: [ 'js/*.js' ], // list of files to exclude exclude: [ 'client/main.js' ], preprocessors: { 'js/*.js':'coverage' }, coverageReporter:{ type : 'cobertura', dir : 'coverage/' }, // use dots reporter, as travis terminal does not support escaping sequences // possible values: 'dots', 'progress' // CLI --reporters progress reporters: ['dots', 'junit','coverage'], junitReporter: { // will be resolved to basePath (in the same way as files/exclude patterns) outputFile: 'test-results.xml' }, // web server port // CLI --port 9876 port: 9876, // enable / disable colors in the output (reporters and logs) // CLI --colors --no-colors colors: true, // level of logging // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG // CLI --log-level debug logLevel: config.LOG_INFO, // enable / disable watching file and executing tests whenever any file changes // CLI --auto-watch --no-auto-watch autoWatch: true, // Start these browsers, currently available: // - Chrome // - ChromeCanary // - Firefox // - Opera // - Safari (only Mac) // - PhantomJS // - IE (only Windows) // CLI --browsers Chrome,Firefox,Safari //browsers: [process.env.TRAVIS ? 'Firefox' : 'Chrome'], browsers: ['IE'], // If browser does not capture in given timeout [ms], kill it // CLI --capture-timeout 5000 captureTimeout: 20000, // Auto run tests on start (when browsers are captured) and exit // CLI --single-run --no-single-run singleRun: true, // report which specs are slower than 500ms // CLI --report-slower-than 500 reportSlowerThan: 500, plugins: [ 'karma-jasmine', 'karma-chrome-launcher', 'karma-firefox-launcher', 'karma-ie-launcher', 'karma-junit-reporter', 'karma-commonjs', 'karma-coverage' ] }); };
其中junit report测试插件,会在当前项目目录下生成test-results.xml文件。
coverage覆盖率插件,会在当前目录下生成coverage目录,里面是覆盖率数据文件。
5、Jenkins安装插件
Jenkins Cobertura Plugin 测试覆盖率插件
6、在Jenkins上配置一个自由风格的任务
在源代码管理里,填写项目的SVN地址等,可以让Jenkins正常下载源码
7、构建命令
构建选Execute windows batch command
set Path=%Path%;D:\Program Files\nodejs\ set IE_BIN=C:\Program Files\Internet Explorer\iexplore.exe node ./node_modules/karma/bin/karma start
8、测试选项
构建后操作
Publish Cobertura Coverage Report选项,
在Cobertura xml report pattern里填写
coverage/**/*.xml
Publish JUnit test result report选项
Test report XMLs里填写
test-results.xml
9、测试结果
发表评论
-
find 的正则表达式
2020-03-11 13:33 647‘findutils-default’ regula ... -
bat 位运算
2020-03-09 14:35 380必须要用引号括起来 set /a "resul ... -
bat 正则替换
2020-03-09 14:00 1277这是一段javascript,通过bat替换为指定字符串 ... -
U盘自动压缩复制小程序
2020-02-28 10:35 331经常需要复制文件到U盘,或者从U盘复制出来,基本上是同一个文件 ... -
解决maven-metadata.xml文件下载卡死问题
2019-04-11 14:02 3721http://192.168.1.110:8081/nexus ... -
svn输出本次变动的文件列表
2017-09-08 15:46 883eclipse的svn里,无法复制本次修改的文件列表,命令行里 ... -
centos 安装git版本管理工具
2016-12-05 17:03 510yum -y install gcc yu ... -
jenkins中集成sonar,使用findbug、pmd、checkstyle提升代码质量
2016-09-29 14:58 6068实际上jenkins单独也 ... -
jenkins 集成sonar
2016-09-18 10:14 0jenkins集成sonar可以从插件中心直接更新安装 son ... -
iteye博客内容搜索
2016-06-16 09:28 1215iteye的搜索功能,实在是太弱了,自已博客里的东西,基本 ... -
在centos中安装jenkins
2016-07-15 09:55 388在centos中安装jenkins 1)安装目录 pwd ... -
svn swtich命令
2015-10-09 18:29 571该命令会切换SVN目录到一个新的SVN URL上,切目录内的内 ... -
轻领导力 | 什么是高级主管的管理思维?
2015-09-24 14:58 0轻领导力 | 什么是高级 ... -
maven 处理资源文件的方式
2015-09-07 17:15 3781maven 默认情况下,对/main/resources/下的 ... -
当前是第几周
2015-08-03 17:48 766如果一周开始于星期一:=weeknum(date,2),反之一 ... -
vbs的xmlHttp.responseText无效的调用过程
2015-02-27 16:20 938vbs真是门恶心人的语言, set xmlhttp = C ... -
maven 执行ant 任务
2014-12-25 14:59 796<build> <plugins> ... -
subclipse tree conflict
2014-12-04 12:30 1069最近合并分支代码时,总是报tree conflict ... -
subclipse merge Missing ranges解决办法
2014-10-31 17:34 5147引用 merge https://repo.ds.sss.co ... -
svn subclipse 的Change-set base merge
2014-10-31 16:19 2079Change-set base merge 名词:Col ...
相关推荐
Karma和Jasmine自动化单元测试
集成Karma和Jasmine的单元测试代码. Demo中带有6个从简单到复杂的单元测试用例.
使用Angular + Karma + Jasmine可以进行前端的单体...当测试环境可以使用浏览器,在这台机器上使用ng test则能进行测试,Karma会启动Chrome浏览器,然后执行测试用例,持续集成的时候,Jenkins通过远程命令执行的方式到
业力+茉莉+打字稿 使用Karma,Jasmine和Typescript进行单元测试的样本。用法 yarn test
在使用vue-cli创建项目的时候,会提示要不要安装单元测试和e2e测试。既然官方推荐我们使用这两个测试框架,那么我们就动手去学习实践一下他们吧。 简介 Karma Karma是一个基于Node.js的JavaScript测试执行过程管理...
主要介绍了使用Karma做vue组件单元测试的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
karma e2e 和 tdd 类测试的完整配置示例,包括 Junit 报告和覆盖率报告(准备好进行持续集成) 这个示例项目基于 [karma-e2e-dsl] ( ) [coverage-mocha-istanbul-karma] ( ) 第一个项目展示了如何在 Karma 上...
种子包含一个示例AngularJS应用程序,并且已预先配置为安装Angular框架以及大量开发和测试工具,以实现即时Web开发的满足。 Seed应用程序并没有做太多事情,只是展示了如何将两个控制器和视图连接在一起。入门要...
一个简单的AngularJS MVC单页应用程序,使用Karma和Jasmine进行单元测试和代码覆盖。 自jQuery以来,AngularJS是JavaScript发生的最好的事情。 这就是JavaScript开发一直希望做到的。 Angular的主要优势之一是它的...
经过查找搜索到vue-cli-plugin-unit-karma插件, 集成vue-cli3与karma,但是结果不那么完美,执行的时候还是报错。 不过功夫不负有心人,终于找到解决方法,步骤如下 安装依赖 npm install --save-dev @vue/test-...
角度测试使用 Jasmine 和 Karma 对 Angular 进行单元测试###运行项目的步骤:1) 安装节点 2) 运行 npm install grunt-cli -g 3) 运行 npm install karma-cli -g 4) 从命令行转到项目文件夹并运行 npm install 5) ...
这是一个bash脚本,可让您将Ubuntu服务器主机设置为无头(X-window)测试代理,用于使用Karma和Protractor进行AngularJS单元和e2e测试。 要求 我仅在AWS EC2的Ubuntu 14中测试了该脚本。 但是您当然可以针对Docker,...
使用Karma,Jasmine,Gulp进行AngularJS单元测试
#Karma + Jasmine + Angular 示例项目展示了如何设置您的环境以便能够对 Angularjs 进行单元测试。 依赖注入解决了 Jasmine 和 angular-mock。 ##怎么跑? 安装 Karma 测试运行器: npm install -g karma-cli最好...
角度单位测试 该存储库专用于使用Karma和Jasmine进行角度的学习单元测试
主要介绍了使用Jasmine和Karma对AngularJS页面程序进行测试的方法,以Node.js为环境,非常适合JavaScript的全栈开发时使用,需要的朋友可以参考下