单元测试一般不会只在本机执行,使用持续集成工具,每日进行自动化单元测试,对于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 783‘findutils-default’ regula ... -
bat 位运算
2020-03-09 14:35 472必须要用引号括起来 set /a "resul ... -
bat 正则替换
2020-03-09 14:00 1508这是一段javascript,通过bat替换为指定字符串 ... -
U盘自动压缩复制小程序
2020-02-28 10:35 394经常需要复制文件到U盘,或者从U盘复制出来,基本上是同一个文件 ... -
解决maven-metadata.xml文件下载卡死问题
2019-04-11 14:02 3986http://192.168.1.110:8081/nexus ... -
svn输出本次变动的文件列表
2017-09-08 15:46 941eclipse的svn里,无法复制本次修改的文件列表,命令行里 ... -
centos 安装git版本管理工具
2016-12-05 17:03 567yum -y install gcc yu ... -
jenkins中集成sonar,使用findbug、pmd、checkstyle提升代码质量
2016-09-29 14:58 6175实际上jenkins单独也 ... -
jenkins 集成sonar
2016-09-18 10:14 0jenkins集成sonar可以从插件中心直接更新安装 son ... -
iteye博客内容搜索
2016-06-16 09:28 1271iteye的搜索功能,实在是太弱了,自已博客里的东西,基本 ... -
在centos中安装jenkins
2016-07-15 09:55 442在centos中安装jenkins 1)安装目录 pwd ... -
svn swtich命令
2015-10-09 18:29 660该命令会切换SVN目录到一个新的SVN URL上,切目录内的内 ... -
轻领导力 | 什么是高级主管的管理思维?
2015-09-24 14:58 0轻领导力 | 什么是高级 ... -
maven 处理资源文件的方式
2015-09-07 17:15 3860maven 默认情况下,对/main/resources/下的 ... -
当前是第几周
2015-08-03 17:48 821如果一周开始于星期一:=weeknum(date,2),反之一 ... -
vbs的xmlHttp.responseText无效的调用过程
2015-02-27 16:20 1023vbs真是门恶心人的语言, set xmlhttp = C ... -
maven 执行ant 任务
2014-12-25 14:59 853<build> <plugins> ... -
subclipse tree conflict
2014-12-04 12:30 1107最近合并分支代码时,总是报tree conflict ... -
subclipse merge Missing ranges解决办法
2014-10-31 17:34 5250引用 merge https://repo.ds.sss.co ... -
svn subclipse 的Change-set base merge
2014-10-31 16:19 2126Change-set base merge 名词:Col ...
相关推荐
Angular Karma测试的持续集成实践是一项重要的软件开发流程,涉及在开发Angular应用时,对单元测试和集成测试进行自动化执行,并与持续集成(CI)工具如Jenkins集成,以确保代码质量并加速开发流程。 Karma是一个流行...
Karma也可以与Jenkins、Travis CI等持续集成工具结合,确保每次代码提交后都会触发测试,确保代码质量。 总的来说,Karma作为JavaScript的测试工具,通过其强大的功能和灵活性,极大地简化了JavaScript应用的测试...
这个项目“GRUNT-SAMPLE”是一个示例,旨在演示如何在持续集成工具Jenkins中有效地结合使用Grunt和Karma。Grunt是JavaScript的一个任务运行器,而Karma则是一个测试运行器,特别适用于前端开发中的自动化单元测试。...
`karma-tape-reporter`的主要作用在于将Karma执行的测试结果转换为TAP格式,这样不仅方便开发者查看测试状态,还便于集成到持续集成(CI)或持续部署(CD)流程中,例如Jenkins、Travis CI等。TAP格式的报告可以轻松地与...
在JavaScript中,可以使用Karma与Jasmine配合,或者使用AVA进行集成测试。 3. 浏览器兼容性测试:由于JavaScript在不同浏览器中的行为可能不同,所以需要确保代码在主流浏览器上都能正常工作。工具如BrowserStack和...
6. **持续集成与自动化**:在开发流程中,Karma可以和CI/CD工具(如Jenkins、GitLab CI/CD)集成,确保每次代码提交后都会触发测试,及时发现并修复问题。 7. **跨浏览器测试**:Karma的一大优势是能够在多个浏览器...
4. **集成持续集成**:与Jenkins、Travis CI等持续集成工具配合,angulartestrunner可以自动化测试流程,确保每次代码提交后都有可靠的测试结果。 5. **丰富的插件生态系统**:由于基于Karma,angulartestrunner...
1. **什么是单元测试**:单元测试是对程序中的最小可测试单元进行检查和验证,如函数、方法或类。它的目标是确保代码的每个部分都能独立地正常运行,以降低整体代码的错误率。 2. **PHP单元测试工具有哪些**:PHP中...
接下来,您将探索使用Jasmine进行的单元测试以及使用Karma和Selenium进行的浏览器测试。 您还将了解如何使用Gulp和Jenkins自动执行任务。 接下来,您将熟悉不同平台(例如MongoDB和PostgreSQL)的数据库集成。 最后...
在这个场景中,我们将关注的是在Angular项目中如何进行基于Node.js的持续集成测试。 Angular是一个流行的前端JavaScript框架,用于构建单页应用。它基于TypeScript,提供了一套完整的工具链来帮助开发者构建高性能...
在实际项目中,单元测试通常与持续集成(CI)工具结合,如Jenkins、Travis CI或GitHub Actions。这样每次提交时都会自动运行测试,保证代码质量不因新更改而下降。 总结,`AngularUnitTestWithJasmine`项目提供了...
在实际开发中,`meteor-karma-phantomjs-launcher`不仅能用于单元测试,还可以结合持续集成工具,如Jenkins或Travis CI,实现自动化测试的持续集成,提升开发效率和代码质量。 总结起来,`meteor-karma-phantomjs-...
- **测试类型**:在 JavaScript 开发中,常见的测试类型包括单元测试、集成测试和端到端测试。单元测试主要针对函数或类等最小可测试单位进行验证;集成测试检查不同组件之间的交互是否正常工作;端到端测试则模拟...
6. **持续集成(CI)集成**: 项目可能还包含配置文件,如 Travis CI 或 Jenkins,以在每次提交时自动运行测试,确保代码质量。 在实际使用 `ngunittests_eric_green` 项目时,开发者可以遵循以下步骤: 1. **安装...
5. **集成开发流程**:可以将Karma集成到持续集成(CI)工具中,例如Jenkins、Travis CI,确保每次代码提交后都执行测试。 **总结** Karma和SystemJS的结合使用为JavaScript项目的测试提供了强大的支持。Karma提供了...
在实际项目中,我们还可能遇到需要自动化测试和持续集成的情况。这时候,Travis CI、Jenkins或GitHub Actions等工具就能派上用场,它们可以自动触发测试,构建和部署流程,大大提高了开发效率。 最后,提及“hsk-...
Browser Test Runner常常与GitLab CI、Jenkins、Travis CI等持续集成服务结合,每当代码仓库有新的提交时,测试就会自动运行,确保代码质量始终如一。 十、社区和文档支持 一个优秀的开源库通常有活跃的社区和详尽...
4. **持续集成**:通过设置持续集成服务器(如Jenkins或Travis CI),可以在每次代码提交后自动运行测试,从而及时发现问题。 5. **代码覆盖率分析**:使用工具如Istanbul来进行代码覆盖率分析,确保测试覆盖了所有...
6. 自动化测试:Karma 和 Protractor 都支持持续集成,可以与 Travis CI 或 Jenkins 等工具集成,实现在每次代码提交时自动运行测试,及时发现并修复问题。 7. 测试覆盖率报告:为了了解测试的全面性,可以使用 ...