Mam tę klasę testową poniżej i chcę uruchomić z niej tylko jeden test, na przykład „aboutPage”. Jakieś pomysły jak?
Oto jak uruchamiam tylko ten plik:
codecept run tests/acceptance/VisitorCest.php
Ale teraz chcę uruchomić tylko jeden test z pliku.
<?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
źródło
źródło
.php
rozszerzenie nazwy pliku, na przykład:codecept run -- -c frontend unit models/ContactFormTest:testSendEmail
myTestName
też nie musi być pełną nazwą testu. Przeprowadzi wszelkie testy z częściowym dopasowaniemoto co działa:
codecept uruchom {nazwa-pakietu} {nazwa-pliku} .php: {nazwa-funkcji}
zwróć uwagę na spację między nazwą pakietu a nazwą pliku
źródło
.php
części.Oprócz odpowiedzi udzielonej przez @Tzook Bar Noy możesz dodać zakończenie,
$
gdy istnieje wiele testów rozpoczynających się o tej samej nazwie . Rozważmy następujący przykład:<?php use \AcceptanceTester; class VisitorCest { public function aboutPage(AcceptanceTester $I) { } public function aboutPageOption(AcceptanceTester $I) { } }
Gdzie poniższe polecenie wykona oba testy:
Spowoduje to wykonanie tylko pierwszego:
źródło
Właściwszym sposobem będzie przypisanie adnotacji grupowej do danego przypadku testowego. Jest to preferowane z następującego powodu; Jeśli masz dwa przypadki testowe, na przykład w tej samej klasie VisitorCest;
public function aboutPage public function aboutPage2
Wykonywanie
uruchomi zarówno przypadki testowe VisitorCest: aboutPage, jak i VisitorCest: aboutPage2.
Przypisz grupę do takiego przypadku testowego
/** * @group aaa */ public function aboutPage(AcceptanceTester $I) { }
I wykonaj ten konkretny przypadek testowy w ten sposób
codecept run -g aaa
źródło
Oprócz poprzednich odpowiedzi możesz uruchomić jedną lub kilka metod grupując według podanej nazwy:
/** * @group test-aboutPage */ public function aboutPage(AcceptanceTester $I) { $I->wantTo('check about page'); }
Użyj opcji
-g
i nazwy grupy:źródło
to jest to, co robie.
php codecept.phar run unit UnitNameTest.php
źródło
Jeśli używasz
PHP Yii2 Framework
, możesz uruchomić tylko jeden test za pomocą tego polecenia.Upewnij się, że jesteś w katalogu testing.
źródło
Cept
zawiera tylko jeden test, aleCest
może zawierać wiele testów - zobacz wstępne pytanieWypróbuj phpunit --filter {TestMethodName} {FilePath}
źródło