我正在使用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%是否真的正确?谢谢!
答案 0 :(得分:1)
我问过Shippable支持,他们说:
直到最近,PHPUnit才支持分支覆盖,因此我们的解析器不输出PHPUnit的分支覆盖度量。 从PHPUnit文档来看,它看起来似乎已经增加了对分支覆盖的支持;将在内部打开此功能请求,以确定它现在是否为可解析格式。