Я тестирую тесты phpunit с помощью Shippable CI, но я всегда получаю 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% действительно правильно? Спасибо!
Я попросил поддержки Shippable, и они сказали:
До недавнего времени PHPUnit не поддерживал покрытие ветвей, поэтому наш анализатор не выводит метрики покрытия веток для PHPUnit.
Из документов PHPUnit похоже, что они могли добавить поддержку покрытия веток; откроет его как внутренний запрос, чтобы выяснить, находится ли он в разбираемом формате.
Других решений пока нет …