В PHPUnit 3.6.4, когда я запускаю тест на основе PHPUnit_Extensions_SeleniumTestCase и использую
$this->markTestSkipped();
или
$this->markTestIncomplete();
, тест пропущен (S) или отмеченкак неполное (I).
Но после обновления PHPUnit до версии 3.6.10 - самой последней версии - эти функции, похоже, не проходят тест, вызывая ошибку вместо ее пропуска.
Дополнительные примеры, пройдите этот тест:
class ExampleTest extends PHPUnit_Extensions_SeleniumTestCase
{
public function testMyCase()
{
$this->markTestIncomplete();
}
}
Он все равно запустит тест и выдаст вам этот вывод, если сервер Selenium не запущен:
PHPUnit 3.6.10 by Sebastian Bergmann.
E
Time: 0 seconds, Memory: 6.25Mb
There was 1 error:
1) ExampleTest::testMyCase
RuntimeException:
/usr/bin/phpunit:46
FAILURES!
Tests: 1, Assertions: 0, Errors: 1
Если у вас запущен сервер Selenium, результат будет немного другим, но у вас все равно будет ошибка.Это только для тестов Selenium, кажется, что тесты, расширяющие PHPUnit_Framework_TestCase, в порядке.Чтобы подтвердить это, измените класс, с которого вы его расширяете, на PHPUnit_Framework_TestCase:
class ExampleTest extends PHPUnit_Framework_TestCase
{
public function testMyCase()
{
$this->markTestIncomplete();
}
}
И у вас будет такой результат:
PHPUnit 3.6.10 by Sebastian Bergmann.
I
Time: 0 seconds, Memory: 5.25Mb
OK, but incomplete or skipped tests!
Tests: 1, Assertions: 0, Incomplete: 1.
Итак, мой вопрос: это ошибка вPHPUnit 3.6.10?Это какая-то классная функция, которую я не знаю, и я делаю что-то не так?