我有一个Javascript项目,它使用Grunt进行构建过程,使用QUnit进行测试,使用Blanket进行代码覆盖,使用自定义Grunt任务将覆盖结果转换为LCOV文件,发送给Coveralls。一切都在TravisCI上运行。
项目:https://github.com/mistic100/jQuery-QueryBuilder
我的Grunt任务:https://github.com/mistic100/grunt-qunit-blanket-lcov
那么应该发生的是npm test
在PhantomJS过程中运行QUnit + Blanket测试,同时覆盖结果保存在.coverage-results/all.lcov
中。
成功构建后,grunt coveralls
会将此文件发送给Coveralls。
我的问题在这里,任务找不到文件,但是当我在我的电脑上测试它时。
查看最后一次Travis日志:https://travis-ci.org/mistic100/jQuery-QueryBuilder#L389
我唯一能想到的是,npm test
完成后,由于某种原因,文件会被删除。有可能吗?
修改 所以这与Travis无关,但是我的Grunt任务我使用绝对路径认为它是相对路径(我仍然不知道为什么它不会附加在Windows上)
答案 0 :(得分:0)
我唯一可以考虑的是,由于某种原因,一旦npm测试完成,该文件就会被删除。有可能吗?
不,运行after_success
命令时,生命周期中的构建工件仍然存在。
gruntfile.js将force配置为true并定义路径 - 这里没有问题。 这应该有用。
我建议输入一些命令来检查Travis上的文件夹和文件。
- sudo ls -alh /home/travis/build/mistic100/jQuery-QueryBuilder/*
- sudo ls -alh /home/travis/build/mistic100/jQuery-QueryBuilder/.coverage-results/*
也许您在文件夹和文件创建过程中发现了权限问题。 但那是我唯一的猜测。