Разве TDD не в том, что ваш тестовый набор не работает во время написания тестов?
Полагаю, ваша точка зрения состоит в том, что он умирает с фатальной ошибкой, а не просто отображает красную панель "я не прошел".Довольно интересный момент, я делаю TDD с phpunit, но это никогда меня не беспокоило.
Первое, что пришло мне на ум, было --process-isolation
.
Пример:
Предположим, что тестовый класс выглядит следующим образом:
<?php
class fooTest extends PHPUnit_Framework_TestCase {
public function testA() {
$x = new a();
}
public function testB() {
$this->assertTrue(true);
}
}
с использованием обычного бегуна phpunit test.php
:
PHPUnit 3.5.12 by Sebastian Bergmann.
Fatal error: Class 'a' not found in /home/mcsvnls/mep.php on line 6
, но при использовании *Переключатель 1019 * выглядит следующим образом:
PHPUnit 3.5.12 by Sebastian Bergmann.
E.
Time: 1 second, Memory: 3.25Mb
There was 1 error:
1) fooTest::testA
RuntimeException: Fatal error: Class 'a' not found in /home/foo/mep.php on line 6
Call Stack:
0.0005 102364 1. {main}() /home/foo/-:0
0.0341 1768644 2. __phpunit_run_isolated_test() /home/foo/-:143
[...........]
FAILURES!
Tests: 2, Assertions: 1, Errors: 1.
И теперь второй тест выполняется и проходит