Estou usando phpunit em conexão com jenkins e quero pular alguns testes definindo a configuração no arquivo XML phpunit.xml
Eu sei que posso usar na linha de comando:
phpunit --filter testStuffThatBrokeAndIOnlyWantToRunThatOneSingleTest
como faço para traduzir isso para o arquivo XML, uma vez que a <filters>
tag é apenas para cobertura de código?
Eu gostaria de executar todos os testes, exceto testStuffThatAlwaysBreaks
<exclude>
- faria o trabalho por vocêRespostas:
A maneira mais rápida e fácil de pular os testes que estão interrompidos ou que você precisa continuar trabalhando mais tarde é simplesmente adicionar o seguinte no início do seu teste de unidade individual:
$this->markTestSkipped('must be revisited.');
fonte
static::markTestSkipped('');
vez de$this->
. Ele irá gerar um aviso nas versões mais recentes do PHP. Assinatura:public static function markTestSkipped($message = '')
$this->markTestSkipped()
markTestSkipped()
ainda é um método estático.Se você puder ignorar todo o arquivo, então
<?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>
fonte
<exclude>
e 893 testes com o<exclude>
....... 63 / 893 ( 7%)
@group
anotações e testes de divisão por naturezaÀs vezes é útil pular todos os testes de um arquivo específico com base em condições personalizadas definidas como código php. Você pode fazer isso facilmente usando a função setUp na qual makeTestSkipped também funciona.
protected function setUp() { if (your_custom_condition) { $this->markTestSkipped('all tests in this file are invactive for this server configuration!'); } }
your_custom_condition pode ser passada através de algum método / propriedade de classe estática, uma constante definida no arquivo de inicialização phpunit ou até mesmo uma variável global.
fonte
Config
aula? Onde eu coloco?