У вас есть как минимум 3 варианта:
add --debug flag (после прочтения ваших комментариев кажется, что это не будет делать то, что вам нужно, что показывает в реальном времени, какой тестне удалось)
создать класс принтера и использовать его с флагом --printer
добавить --testdox flag
Давным-давно я должен был сделать свой собственный принтер, потому что мне нужно было показать, сколько времени занял тест.Таким образом, в основном я печатал, когда тест начинался, его название и сколько времени это занялоВы можете использовать этот код и адаптировать его под свои нужды.
Вам необходимо создать новый класс (обычно в директории / tests).Убедитесь, что этот класс расширяет PHPUnit_TextUI_ResultPrinter.Затем в вашем файле phpunit.xml вы добавляете эти настройки внутри
printerFile="tests/TestDurationPrinter.php" <-- filename
printerClass="TestDurationPrinter <-- Class you created.
Мой принтер выглядит следующим образом:
class TestDurationPrinter extends \PHPUnit_TextUI_ResultPrinter
{
/**
* @param PHPUnit_Framework_Test|PHPUnit_Extensions_PhptTestCase $test
*/
public function startTest(PHPUnit_Framework_Test $test)
{
$this->write(sprintf(
"\nRunning '%s::%s'...",
get_class($test),
$test->getName()
));
}
/**
* @param PHPUnit_Framework_Test|PHPUnit_Extensions_PhptTestCase $test
* @param float $time
*/
public function endTest(PHPUnit_Framework_Test $test, $time)
{
$this->write(sprintf(
"ended and took ~ %s seconds.",
round($time)
));
}
}
В вашем случае, я думаю, использования --testdox будет достаточно.Если это не сработает, то я бы порекомендовал создать свой собственный принтер, имейте в виду, что вам все равно нужно получить доступ к результатам теста (который я не знаю, как это сделать), поэтому вам нужно было бы Google,
Надеюсь, это поможет вам.
Редактировать: еще одна вещь, которую вы можете сделать, это добавить флаг
--stop-on-error
, чтобы тесты останавливались, как только появляется ошибка.Там также
--stop-on-failure
(я думаю, это то, что вы хотите).Я всегда использую оба, так как мой набор тестов содержит около 800 тестов, а полное выполнение занимает около 3 минут.