Tengo esta clase de prueba a continuación y solo quiero ejecutar una prueba de ella, por ejemplo, "aboutPage". ¿Alguna idea de cómo?
Así es como ejecuto solo este archivo:
codecept run tests/acceptance/VisitorCest.php
Pero ahora quiero ejecutar solo una prueba del archivo.
<?php
use \AcceptanceTester;
class VisitorCest
{
public function _before(){}
public function _after(){}
public function aboutPage(AcceptanceTester $I)
{
$I->wantTo('check about page');
}
public function contactPage(AcceptanceTester $I)
{
$I->wantTo('check contact page');
}
}
php
codeception
Tzook Bar Noy
fuente
fuente
.php
extensión del nombre de archivo, así:codecept run -- -c frontend unit models/ContactFormTest:testSendEmail
myTestName
tampoco tiene que ser el nombre completo de la prueba. Ejecutará cualquier prueba con una coincidencia parcialesto es lo que funciona:
codecept ejecutar {nombre-suite} {nombre-archivo} .php: {nombre-función}
observe el espacio entre el nombre de la suite y el nombre del archivo
fuente
.php
pieza.Además de la respuesta proporcionada por @Tzook Bar Noy , puede agregar un final
$
cuando hay varias pruebas que comienzan con el mismo nombre . Considere el siguiente ejemplo:<?php use \AcceptanceTester; class VisitorCest { public function aboutPage(AcceptanceTester $I) { } public function aboutPageOption(AcceptanceTester $I) { } }
Donde el siguiente comando ejecutará ambas pruebas:
Esto ejecutará solo el primero:
fuente
Una forma más adecuada de hacer esto será asignar una anotación de grupo al caso de prueba en cuestión. Esto es preferible por la siguiente razón; Si tiene dos casos de prueba, por ejemplo, en la misma clase VisitorCest;
public function aboutPage public function aboutPage2
Ejecutando
ejecutará los casos de prueba VisitorCest: aboutPage y VisitorCest: aboutPage2.
Asignar un grupo a un caso de prueba como este
/** * @group aaa */ public function aboutPage(AcceptanceTester $I) { }
Y ejecute este caso de prueba en particular como este
codecept run -g aaa
fuente
Además de las respuestas anteriores, puede ejecutar uno o varios métodos agrupando por un nombre dado:
/** * @group test-aboutPage */ public function aboutPage(AcceptanceTester $I) { $I->wantTo('check about page'); }
Utilice la opción
-g
y el nombre del grupo:fuente
esto es lo que hago.
php codecept.phar run unit UnitNameTest.php
fuente
Si lo está utilizando
PHP Yii2 Framework
, puede ejecutar solo una prueba con este comando.Asegúrese de estar en el directorio de pruebas.
fuente
Cept
solo contiene una prueba, peroCest
puede contener varias pruebas; consulte la pregunta inicialPruébelo phpunit --filter {TestMethodName} {FilePath}
fuente