¿Cómo ejecutar un método de prueba único con phpunit?
Tengo dificultades para ejecutar un único método de prueba nombrado testSaveAndDrop
en el archivo escalation/EscalationGroupTest.php
con phpunit
. Probé las siguientes combinaciones:
phpunit EscalationGroupTest escalation/EscalationGroupTest.php --filter=escalation/EscalationGroupTest.php::testSaveAndDrop
phpunit EscalationGroupTest escalation/EscalationGroupTest.php --filter=EscalationGroupTest.php::testSaveAndDrop
phpunit EscalationGroupTest escalation/EscalationGroupTest.php --filter=EscalationGroupTest::testSaveAndDrop
phpunit EscalationGroupTest escalation/EscalationGroupTest.php --filter=testSaveAndDrop
En cada caso, se ejecutan todos los métodos de prueba del archivo . escalation/EscalationGroupTest.php
¿Cómo seleccionar solo UN método?
El nombre de la clase es EscalationGroupTest
y la versión phpunit
es 3.2.8.
El siguiente comando ejecuta la prueba en un solo método:
phpunit --filter testSaveAndDrop EscalationGroupTest escalation/EscalationGroupTest.php
phpunit --filter methodName ClassName path/to/file.php
Para versiones más nuevas de phpunit, es simplemente:
phpunit --filter methodName path/to/file.php
Prefiero marcar la prueba en anotación como
/**
* @group failing
* Tests the api edit form
*/
public function testEditAction()
Luego ejecutándolo con
phpunit --group failing
No es necesario especificar la ruta completa en la línea de comando, pero debe recordar eliminarla antes de confirmar, para no saturar el código.
También puede especificar varios grupos para una sola prueba.
/**
* @group failing
* @group bug2204
*/
public function testSomethingElse()
{
}