Ich habe diese Testklasse unten und möchte nur einen Test davon ausführen, zum Beispiel die "aboutPage". Irgendwelche Ideen wie?
So führe ich nur diese Datei aus:
codecept run tests/acceptance/VisitorCest.php
Aber jetzt möchte ich nur einen Test von der Datei ausführen.
<?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');
}
}
Sie fügen einfach einen Doppelpunkt und den Funktionsnamen wie folgt an:
codecept run tests/acceptance/VisitorCest.php:myTestName
oder eine kürzere Version:
codecept run acceptance VisitorCest:myTestName
(Beachten Sie das Leerzeichen zwischen dem Suite-Namen und dem Dateinamen.)
das ist was funktioniert:
codecept run {Name der Suite} {Dateiname} .php: {Name der Funktion}
beachte den Abstand zwischen dem Suite-Namen und dem Dateinamen
Zusätzlich zur Antwort von @Tzook Bar Noy können Sie einen nachgestellten $
hinzufügen, wenn mehrere Tests mit demselben Namen beginnen . Betrachten Sie das folgende Beispiel:
<?php
use \AcceptanceTester;
class VisitorCest
{
public function aboutPage(AcceptanceTester $I)
{
}
public function aboutPageOption(AcceptanceTester $I)
{
}
}
Wo der folgende Befehl beide Tests ausführt:
codecept run tests/acceptance/VisitorCest.php:aboutPage
Dies wird nur den ersten ausführen:
codecept run tests/acceptance/VisitorCest.php:aboutPage$
Neben den vorherigen Antworten können Sie eine oder mehrere Methoden ausführen, indem Sie nach einem bestimmten Namen gruppieren:
/**
* @group test-aboutPage
*/
public function aboutPage(AcceptanceTester $I)
{
$I->wantTo('check about page');
}
Verwenden Sie die Option -g
und den Namen der Gruppe:
$ codecept run acceptance VisitorCest -g test-aboutPage
das ist was ich mache .
php codecept.phar run unit UnitNameTest.php
Wenn Sie PHP Yii2 Framework
verwenden, können Sie mit diesem Befehl nur einen Test ausführen.
Stellen Sie sicher, dass Sie sich im Testverzeichnis befinden.
cd /codeception/frontend
codecept run -vv acceptance HomeCept
Ein besserer Weg, dies zu tun, besteht darin, dem betreffenden Testfall eine Gruppenanmerkung zuzuordnen. Dies ist aus folgendem Grund vorzuziehen: Wenn Sie zwei Testfälle haben, z. B. in derselben Klasse VisitorCest;
public function aboutPage
public function aboutPage2
Ausführen
codecept run tests/acceptance/VisitorCest.php:aboutPage
wird sowohl VisitorCest: aboutPage als auch VisitorCest: aboutPage2-Testfälle ausführen.
Weisen Sie eine Gruppe einem Testfall wie diesem zu
/**
* @group aaa
*/
public function aboutPage(AcceptanceTester $I)
{
}
Und diesen speziellen Testfall so ausführen
codecept run -g aaa