Я использую php для тестирования своего кода. Вот пример:Использование @covers для класса
/**
* @covers Calculator::
*/
class CalculatorTest extends PHPUnit_Framework_TestCase {
protected function setUp() { /* ... */ }
/**
* @covers Calculator::add
*/
public function testAddTwoIntegers() { /* ... */ }
/**
* @covers Calculator::multiply
*/
public function testMultiplyTwoIntegers() { /* ... */ }
}
Однако, мой код является сложным, и я хочу, чтобы избавиться от @covers над индивидуальными методами испытаний. Как PHP лечить следующий класс при генерации отчетов покрытия:
/**
* @covers Calculator
*/
class CalculatorTest extends PHPUnit_Framework_TestCase {
protected function setUp() { /* ... */ }
public function testAddTwoIntegers() { /* ... */ }
public function testMultiplyTwoIntegers() { /* ... */ }
}
Обратите внимание, что @covers аннотации над классом по-прежнему там, но я удалил его из каждого метода.
Я также могу получить отчеты о покрытии с использованием этого подхода, но я не видел его нигде, поэтому я хочу знать, не является ли это неправильным использованием.
Code Coverage Report:
2016-01-18 08:57:50
Summary:
Classes: 17.67% (56/317)
Methods: 0.33% (5/1520)
Lines: 0.60% (109/18094)
Class1:
Methods: 66.67% (2/ 3) Lines: 95.45% (21/ 22)
Class2:
Methods: 50.00% (3/ 6) Lines: 96.70% (88/ 91)
Спасибо за обратную связь. Я сгенерировал отчеты и немного поработал над тем, чтобы удалить несколько методов тестирования, а затем восстановить отчеты и сократить охват. Итак, теперь мне интересно, правильно ли я использую его. – nerandell
Хотя я не использовал это напрямую, @covers, по-видимому, не влияет на ваши результаты по показателям покрытия, но является скорее показателем того, что тестируется. Полученные тесты и охват затем используются для этого блока, когда я читаю руководство. –