2

我正在使用 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% 真的正确?谢谢!

4

1 回答 1

1

我已经询问了 Shippable Support,他们说:

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

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

于 2015-10-07T21:09:15.130 回答