Ответ 1
Самый быстрый и простой способ пропустить тесты, которые либо сломаны, либо вам нужно продолжить работу, а просто добавить следующее к верхней части вашего индивидуального unit test:
$this->markTestSkipped('must be revisited.');
Я использую phpunit в связи с jenkins, и я хочу пропустить определенные тесты, установив конфигурацию в файле XML phpunit.xml
Я знаю, что могу использовать в командной строке:
phpunit --filter testStuffThatBrokeAndIOnlyWantToRunThatOneSingleTest
как мне перевести это в файл XML, так как тег <filters>
предназначен только для покрытия кода?
Я хотел бы запустить все тесты, кроме testStuffThatAlwaysBreaks
Самый быстрый и простой способ пропустить тесты, которые либо сломаны, либо вам нужно продолжить работу, а просто добавить следующее к верхней части вашего индивидуального unit test:
$this->markTestSkipped('must be revisited.');
Если вы можете иметь дело с игнорированием всего файла, то
<?xml version="1.0" encoding="UTF-8"?>
<phpunit>
<testsuites>
<testsuite name="foo">
<directory>./tests/</directory>
<exclude>./tests/path/to/excluded/test.php</exclude>
^-------------
</testsuite>
</testsuites>
</phpunit>
Иногда полезно пропустить все тесты из определенного файла на основе пользовательских условий, определенных как код php. Вы можете легко сделать это, используя функцию setUp, в которой также работает makeTestSkipped.
protected function setUp()
{
if ($yourCustomCondition) {
$this->markTestSkipped('all tests in this file are invactive for this server configuration!');
}
}
$ yourCustomCondition может быть передано через некоторый метод/свойство статического класса, константу, определенную в файле начальной загрузки phpunit, или даже через глобальную переменную - это вам решать.