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 に答える