Estoy usando phpunit en relación con jenkins y quiero omitir ciertas pruebas estableciendo la configuración en el archivo XML phpunit.xml
Sé que puedo usar en la línea de comando:
phpunit --filter testStuffThatBrokeAndIOnlyWantToRunThatOneSingleTest
¿Cómo traduzco eso al archivo XML ya que la <filters>
etiqueta es solo para cobertura de código?
Me gustaría ejecutar todas las pruebas excepto testStuffThatAlwaysBreaks
<exclude>
lo contrario , haría el trabajo por ustedRespuestas:
La forma más rápida y fácil de omitir las pruebas que están rotas o en las que necesita continuar trabajando más tarde es simplemente agregar lo siguiente al principio de su prueba de unidad individual:
$this->markTestSkipped('must be revisited.');
fuente
static::markTestSkipped('');
lugar de$this->
. Generará una advertencia en las versiones más recientes de PHP. Firma:public static function markTestSkipped($message = '')
$this->markTestSkipped()
markTestSkipped()
sigue siendo un método estático.Si puede lidiar con ignorar todo el archivo, entonces
<?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>
fuente
<exclude>
y 893 pruebas con el<exclude>
....... 63 / 893 ( 7%)
@group
anotaciones y pruebas divididas por su naturalezaA veces es útil omitir todas las pruebas de un archivo en particular según las condiciones personalizadas definidas como código php. Puede hacerlo fácilmente usando la función setUp en la que también funciona makeTestSkipped.
protected function setUp() { if (your_custom_condition) { $this->markTestSkipped('all tests in this file are invactive for this server configuration!'); } }
your_custom_condition se puede pasar a través de algún método / propiedad de clase estática, una constante definida en el archivo de arranque de phpunit o incluso una variable global.
fuente
Config
clase? ¿Dónde lo coloco?