Shippable Branch Coverage总是0.00%

时间:2015-10-07 18:11:11

标签: php phpunit continuous-integration shippable-ci

我正在使用Shippable CI测试phpunit测试,但我总是在分支覆盖范围内获得0.00%,而序列覆盖率为100%。

这是我的 shippable.yml

language: php

php: 
    - 5.4

before_script: 
    - mkdir -p shippable/testresults
    - mkdir -p shippable/codecoverage
    - mysql -e 'create database if not exists test;'

script:
  - phpunit  --log-junit shippable/testresults/junit.xml --coverage-xml shippable/codecoverage test.php

这是 sql.php

  class SQL {
      public static function main($bool) {
         $test = 5;
         $tmp = 0;

         if($bool + $test >= 10){
            $tmp = 10;
         }else{
            $tmp = 77;
         }

         if($tmp == 10){
            return true;
         }

         return false;
   }
 }

这是我的 test.php

    class SQLTest extends PHPUnit_Framework_TestCase {
        public function test() {
          $sql = new SQL();
          $doc = $sql->main(3);
          $this->assertEquals(false, $doc);
        }

        public function test2() {
          $sql = new SQL();
          $doc = $sql->main(8);
          $this->assertEquals(true, $doc);
        }

        public function testBla(){
          $test = "string";
          $this -> assertEquals($test, "string");
        }
    }

我是否必须进行任何额外配置,或者0.00%是否真的正确?谢谢!

1 个答案:

答案 0 :(得分:1)

我问过Shippable支持,他们说:

  

直到最近,PHPUnit才支持分支覆盖,因此我们的解析器不输出PHPUnit的分支覆盖度量。   从PHPUnit文档来看,它看起来似乎已经增加了对分支覆盖的支持;将在内部打开此功能请求,以确定它现在是否为可解析格式。

https://github.com/Shippable/support/issues/1929