Travis CI工作正常,但Coveralls没有看到构建

时间:2016-01-24 18:56:44

标签: php symfony phpunit travis-ci coveralls

我在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)。

我忘了什么?

2 个答案:

答案 0 :(得分:1)

抱歉没有足够的声誉评论。 我有同样的问题。在travis ci我获得了我的文件的覆盖率,但在coveralls.io上没有 我注意到工作服说的是

  

我们发现这个回购没有徽章!抓住嵌入代码到右边,将其添加到您的仓库以显示您的代码覆盖率,当徽章生效时点击刷新按钮以删除此消息。

我有相同的消息,我添加了徽章。看起来它不会同步

编辑:

这里是我修复我的

  

[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现在可以正常工作。