Я использую phpunit вместе с jenkins, и я хочу пропустить определенные тесты, установив конфигурацию в файле XML. phpunit.xml
Я знаю, что могу использовать в командной строке:
phpunit --filter testStuffThatBrokeAndIOnlyWantToRunThatOneSingleTest
как мне перевести это в файл XML, поскольку <filters>
тег предназначен только для покрытия кода?
Я хотел бы запустить все тесты, кроме testStuffThatAlwaysBreaks
<exclude>
- сделает работу за васОтветы:
Самый быстрый и простой способ пропустить тесты, которые либо не работают, либо вам нужно продолжить работу позже, - просто добавить следующее в начало вашего индивидуального модульного теста:
$this->markTestSkipped('must be revisited.');
источник
static::markTestSkipped('');
вместо$this->
. В новых версиях PHP будет выдано предупреждение. Подпись:public static function markTestSkipped($message = '')
$this->markTestSkipped()
markTestSkipped()
по-прежнему является статическим методом.Если вы можете игнорировать весь файл, тогда
<?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>
источник
<exclude>
и 893 теста с<exclude>
....... 63 / 893 ( 7%)
@group
аннотации и сплит-тесты по своей природеИногда полезно пропустить все тесты из определенного файла на основе пользовательских условий, определенных как PHP-код. Вы можете легко сделать это с помощью функции setUp, в которой также работает makeTestSkipped.
protected function setUp() { if (your_custom_condition) { $this->markTestSkipped('all tests in this file are invactive for this server configuration!'); } }
your_custom_condition может быть передано через некоторый статический метод / свойство класса, константу, определенную в файле начальной загрузки phpunit, или даже глобальную переменную.
источник
Config
класс? Где мне его разместить?