我在Github上有一个存储库,这是一个带有PHPunit测试套件(https://github.com/antodippo/ccmusicsearch)的PHP Symfony应用程序,Travis CI每次推送时都正确检查构建(https://travis-ci.org/antodippo/ccmusicsearch/builds)。
我将一个Coveralls帐户链接到我的Travis和Github帐户,并且我以这种方式配置了我的.travis.yml文件:
language: php
php:
- 5.5
- 5.6
before_script:
- composer self-update
- composer install
script:
- mkdir -p build/logs
- phpunit -c app/phpunit.xml.dist
after_success:
- bin/coveralls -v
我把这一行放在phpunit.xml.dist:
中<logging>
<log type="coverage-clover" target="build/logs/clover.xml"/>
</logging>
但是工作服仍然表示没有构建(https://coveralls.io/github/antodippo)。
我忘了什么?
答案 0 :(得分:1)
我们发现这个回购没有徽章!抓住嵌入代码到右边,将其添加到您的仓库以显示您的代码覆盖率,当徽章生效时点击刷新按钮以删除此消息。
我有相同的消息,我添加了徽章。看起来它不会同步
这里是我修复我的
[Symfony \ Component \ Config \ Definition \ Exception \ InvalidConfigurationException] coverage_clover XML文件不可读
并使工作服工作
- .travis yml
脚本:
script:
- phpunit -c app/ src/ --coverage-clover build/logs/clover.xml
after_success:
- bin/coveralls -v
- phpunit.xml.dist
:
....
<logging>
<log type="coverage-html" target="build/coverage" title="coverage" charset="UTF-8" yui="true" highlight="true"
lowUpperBound="35" highLowerBound="70"/>
<log type="coverage-clover" target="build/logs/clover.xml"/>
<log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/>
</logging>
...
- 在我的SF项目的根目录创建了一个.coveralls.yml
文件:
coverage_clover: build/logs/clover.xml
json_path: build/logs/coveralls-upload.json
exclude_no_stmt: true
确保您的SF项目根目录中有bin/coveralls
文件夹
答案 1 :(得分:0)
问题在于,使用phpunit.xml.dist配置,clover.xml文件是在/app/builds/logs/clover.xml中创建的。所以我改变了.travis.yml中的phpunit脚本:
phpunit --coverage-clover build/logs/clover.xml -c app
所以文件在/app/builds/logs/clover.xml中正确生成,Coveralls现在可以正常工作。