我在下面有这个测试类,我想从它只运行一个测试,例如"aboutPage".有什么想法?
这就是我只运行这个文件的方式:
codecept run tests/acceptance/VisitorCest.php
Run Code Online (Sandbox Code Playgroud)
但是现在我想从文件中只运行一个测试.
<?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');
}
}
Run Code Online (Sandbox Code Playgroud)
Tzo*_*Noy 133
您只需附加一个冒号和函数名称,如下所示:
codecept run tests/acceptance/VisitorCest.php:myTestName
Run Code Online (Sandbox Code Playgroud)
或更短的版本:
codecept run acceptance VisitorCest:myTestName
Run Code Online (Sandbox Code Playgroud)
(注意suite-name和文件名之间的空格.)
Mah*_*alt 37
这是有效的:
codecept run {suite-name} {file-name} .php:{function-name}
注意suite-name和文件名之间的空格
con*_*uxe 16
除了@Tzook Bar Noy提供的答案之外,当有多个以相同名称开头的测试时,您可以添加尾随$.请考虑以下示例:
<?php
use \AcceptanceTester;
class VisitorCest
{
public function aboutPage(AcceptanceTester $I)
{
}
public function aboutPageOption(AcceptanceTester $I)
{
}
}
Run Code Online (Sandbox Code Playgroud)
以下命令将执行两个测试:
codecept run tests/acceptance/VisitorCest.php:aboutPage
Run Code Online (Sandbox Code Playgroud)
这将只执行第一个:
codecept run tests/acceptance/VisitorCest.php:aboutPage$
Run Code Online (Sandbox Code Playgroud)
一种更合适的方法是将组批注分配给所讨论的测试用例。由于以下原因,这是可取的;例如,如果您在同一类VisitorCest中有两个测试用例;
public function aboutPage
public function aboutPage2
Run Code Online (Sandbox Code Playgroud)
执行中
codecept run tests/acceptance/VisitorCest.php:aboutPage
Run Code Online (Sandbox Code Playgroud)
将同时运行VisitorCest:aboutPage和VisitorCest:aboutPage2测试用例。
将组分配给这样的测试用例
/**
* @group aaa
*/
public function aboutPage(AcceptanceTester $I)
{
}
Run Code Online (Sandbox Code Playgroud)
并像这样执行这个特定的测试用例
codecept run -g aaa
除了前面的答案之外,您还可以通过按给定名称分组来运行一种或多种方法:
/**
* @group test-aboutPage
*/
public function aboutPage(AcceptanceTester $I)
{
$I->wantTo('check about page');
}
Run Code Online (Sandbox Code Playgroud)
使用选项-g和组名:
$ codecept run acceptance VisitorCest -g test-aboutPage
Run Code Online (Sandbox Code Playgroud)