我怎样才能从套件只运行一个testing?
我有下面这个testing类,我只想运行一个testing,例如“aboutPage”。 任何想法如何?
这是我如何运行只有这个文件:
codecept run tests/acceptance/VisitorCest.php
但是现在我只想从文件运行一个testing。
<?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'); } }
您只需追加一个冒号和函数名称,如下所示:
codecept run tests/acceptance/VisitorCest.php:myTestName
或更短的版本:
codecept run acceptance VisitorCest:myTestName
(注意套件名称和文件名称之间的空格。)
这是什么工程:
codecept run {suite-name} {file-name} .php:{function-name}
注意套件名称和文件名称之间的空格
除了@Tzook Bar Noy提供的答案之外, 当有多个以相同名称开头的testing时,您可以添加一个尾随的$
。 考虑下面的例子:
<?php use \AcceptanceTester; class VisitorCest { public function aboutPage(AcceptanceTester $I) { } public function aboutPageOption(AcceptanceTester $I) { } }
以下命令将执行两个testing:
codecept run tests/acceptance/VisitorCest.php:aboutPage
这将只执行第一个:
codecept run tests/acceptance/VisitorCest.php:aboutPage$
这是我所做的。 php codecept.phar run unit UnitNameTest.php
除了以前的答案之外,还可以按给定名称分组来运行一个或多个方法:
/** * @group test-aboutPage */ public function aboutPage(AcceptanceTester $I) { $I->wantTo('check about page'); }
使用选项-g
和组的名称:
$ codecept run acceptance VisitorCest -g test-aboutPage
如果您正在使用PHP Yii2 Framework
,那么您只能使用此命令运行一个testing。
确保你在testing目录。
cd /codeception/frontend codecept run -vv acceptance HomeCept
试试phpunit –filter {TestMethodName} {FilePath}