我怎样才能从套件只运行一个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}

Interesting Posts