Как я могу запустить только один тест из набора?
у меня есть этот тестовый класс ниже, и я хочу запустить только один тест из него, например "aboutPage". Есть идеи как?
вот как я запускаю только этот файл:
codecept run tests/acceptance/VisitorCest.php
но теперь я хочу запустить только один тест из файла.
<?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');
}
}
7 ответов:
вы просто добавляете двоеточие и имя функции, например:
codecept run tests/acceptance/VisitorCest.php:myTestName
или сокращенный вариант:
codecept run acceptance VisitorCest:myTestName
(обратите внимание на пробел между именем пакета и именем файла.)
вот что работает:
codecept run {suite-name} {file-name}.php: {function-name}
обратите внимание на пространство между именем пакета и именем файла
В дополнение к ответу, предусмотренных @Tzook Bar Noy вы можете добавить трейлинг
$
когда есть несколько тестов, которые начинаются с того же имени. Рассмотрим следующий пример:<?php use \AcceptanceTester; class VisitorCest { public function aboutPage(AcceptanceTester $I) { } public function aboutPageOption(AcceptanceTester $I) { } }
где следующая команда выполнит оба теста:
codecept run tests/acceptance/VisitorCest.php:aboutPage
это будет выполнять только первый:
codecept run tests/acceptance/VisitorCest.php:aboutPage$
В дополнение к предыдущим ответам, вы можете запустить один или несколько методов, с помощью группировки по имени:
/** * @group test-aboutPage */ public function aboutPage(AcceptanceTester $I) { $I->wantTo('check about page'); }
использовать параметр
-g
и название группы:$ codecept run acceptance VisitorCest -g test-aboutPage