我想对我的 chrome 扩展进行持续集成。 使用工具:GitHub , Travis , Bower , components-jasmine . 在 .travis.yml 中:
- 安装凉亭
- 在 bower 下载 jasmine
- 更改我的 SpecRunner.html 上的默认 SpecRunner.html,其中包含我的 src 和规范
- 在 phantomjs 中加载我的 SpecRunner.html
.travis.yml:
language: node_js
node_js:
- "0.10"
install:
- npm install -g bower
- bower install
- cd $TRAVIS_BUILD_DIR
script:
- mv -f ./test/SpecRunner.html ./vendor/components-jasmine
- phantomjs ./test/runTests.js
runTests.js:
var page = require('webpage').create();
page.open('../vendor/components-jasmine/SpecRunner.html', function(){
phantom.exit();
});
测试应该失败,但 travis 上的状态 - 通过。 为什么我的测试不运行?
最佳答案
测试结果显示在同一个 SpecRunner.html 上。
为了获得结果需要打印这个加载的页面。 如果 html 在本地 phantomjs 中加载,则 url 应遵循经典的 Url/Uri 规则,尤其是对于本地文件(这就是页面未加载的原因):
file:///c:/path/to/the%20file.txt #win
file:///etc/fstab #unix
要获得测试结果,需要在 .travis.yml 中的 after_script 中解析日志并返回值 - 如果测试通过则为 0,如果测试失败则为非空。
此外,可能借助 jasmine 本身的帮助是可能的(但我不确定)。
关于javascript - Jasmine 单元测试未在 travis 上启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23077422/