У меня есть этот тестовый класс ниже, и я хочу запустить из него только один тест, например 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');
}
}
php
codeception
Тзук Бар Ной
источник
источник
.php
расширение имени файла, например:codecept run -- -c frontend unit models/ContactFormTest:testSendEmail
myTestName
также не обязательно должно быть полное имя теста. Он будет запускать любые тесты с частичным совпадениемвот что работает:
codecept run {имя-набора} {имя-файла} .php: {имя-функции}
обратите внимание на пробел между именем набора и именем файла
источник
.php
деталь.В дополнение к ответу, предоставленному @Tzook Bar Noy, вы можете добавить трейлинг,
$
когда есть несколько тестов, начинающихся с одного и того же имени . Рассмотрим следующий пример:<?php use \AcceptanceTester; class VisitorCest { public function aboutPage(AcceptanceTester $I) { } public function aboutPageOption(AcceptanceTester $I) { } }
Где следующая команда выполнит оба теста:
Это выполнит только первый:
источник
Более правильный способ сделать это - назначить групповую аннотацию рассматриваемому тесту. Это предпочтительно по следующей причине; Если у вас есть два тестовых примера, например, в одном классе VisitorCest;
public function aboutPage public function aboutPage2
Выполнение
будет запускать тестовые примеры VisitorCest: aboutPage и VisitorCest: aboutPage2.
Назначьте группу для такого тестового примера
/** * @group aaa */ public function aboutPage(AcceptanceTester $I) { }
И выполните этот конкретный тестовый пример следующим образом
codecept run -g aaa
источник
В дополнение к предыдущим ответам вы можете запустить один или несколько методов, сгруппировав их по имени:
/** * @group test-aboutPage */ public function aboutPage(AcceptanceTester $I) { $I->wantTo('check about page'); }
Используйте опцию
-g
и название группы:источник
это то чем я занимаюсь.
php codecept.phar run unit UnitNameTest.php
источник
Если вы используете
PHP Yii2 Framework
, то с помощью этой команды вы можете запустить только один тест.Убедитесь, что вы находитесь в каталоге тестов.
источник
Cept
содержит только один тест, ноCest
может содержать несколько тестов - см. Исходный вопросПопробуйте phpunit --filter {TestMethodName} {FilePath}
источник