Jenkins CI 是当今市场上最流行的持续集成服务器之一。在开发您的 AngularJS 项目(希望是在早期)时,您可能希望让自动化测试从您的代码版本控制系统中运行。Jenkins 将帮助您完成此任务。本教程假设您已在您的 CI 环境中设置并运行了 Jenkins。
您需要在 Jenkins CI 服务器上安装以下工具
以下 Jenkins 插件是可选的,但接下来的指南是基于它的
根据需要对您的 karma.conf.js
文件进行以下添加和更改
singleRun: true,
reporters: ['dots', 'junit'],
junitReporter: {
outputFile: 'test-results.xml'
},
请注意,test-results.xml
文件将写入以测试运行所在的浏览器命名的子目录中,位于当前工作目录中(并且您需要告诉 Jenkins 在哪里找到它们)。
在 Jenkins 中,使用基本设置(名称、描述、参数、要从中提取的源代码仓库等)启动一个新的 Angular/Karma 作业。
首先转到作业页面并单击配置。然后在“构建环境”子部分中,选中“将环境变量注入构建过程”复选框。将出现一些文本框,在“属性内容”框中设置以下内容
$ PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
$ PHANTOMJS_BIN=/usr/local/bin/phantomjs #or wherever PhantomJS happens to be installed
在页面下方,“构建后操作”子部分中,从“构建后操作”下拉菜单中添加一个发布 JUnit 测试结果报告
。当出现名为“测试报告 XML”的文本框时,输入 test-results.xml
文件相对于 Jenkins 作业工作区根目录的路径(您可以为此使用通配符,因此 **/test-results.xml
即使文件存储在特定于浏览器的子目录中,也能找到它)。