Следующая странность, которую я вижу с помощью PHPUnit:
class DummyTest extends PHPUnit_Framework_TestCase {
public function testDummy() {
$this->assertTrue(false, 'assert1');
$this->assertTrue(false, 'assert2');
}
public function testDummy2() {
$this->assertTrue(false, 'assert3');
}
}
Как только первое утверждение терпит неудачу в тесте, остальная часть теста игнорируется.
Итак (с простым вызовом phpunit DummyTest.php):
-
В приведенном выше коде будут отображаться 2 теста, 2, 2. Что?
-
Если я пройду все тесты, то Я получу ОК (2 теста, 3 утверждения). Хорошо.
-
Если я сделаю все тесты пройденными за исключением assert2, я получаю 2 теста, 3 утверждения, 1 сбой. Хорошо.
Я не понимаю, но PHPUnit существует уже целую вечность, конечно, это должен быть я?
Мало того, что подсчеты не то, что я ожидаю, отображается только сообщение об ошибке для первого отказавшего подтверждения в приведенном выше коде.
(BTW, я анализирую XML-формат, сгенерированный PHPUnit для CI, вместо проверки реального кода, следовательно, практика множественных утверждений в одном тесте.)