如何跳过 Codeception cest 测试
How to skip a Codeception cest test
我只想跳过一个 codeception cest 测试中的一个测试。
您可以使用 Cept 测试 $scenario->skip();
但不适用于 Cest 测试。
所以我想做这样的事情。 运行 第一个测试,但跳过第二个。
Class MyTests{
public funtion test1(){
// My test steps
}
public function test2(){
$scenario->skip("Work in progress");
}
}
提前谢谢你。
您要找的方法叫做"incomplete"。
$scenario->incomplete('your message, why skipping');
如果你想在Cest文件中使用Scenarios,你可以通过你的测试方法的第二个参数来获取它:
class yourCest
{
public function yourTest(WebGuy $I, $scenario)
{
$scenario->incomplete('your message');
}
}
或者您可以使用 $scenario->skip('your message')
class yourCest
{
public function yourTest(WebGuy $I, $scenario)
{
$scenario->skip('your message');
}
}
编辑:
如前所述,WebGuy 已过时,注释 @skip
或 @incomplete
是您应该跳过 Cest 文件中的测试的方式。
class yourCest
{
/**
* @skip Skip message
*/
public function yourTest(AcceptanceTester $I)
{
$I->shouldTestSomething();
}
}
所以要在测试期间跳过您的场景 运行 :
- 您必须将 $scenario 作为测试中的第二个输入参数
- 拨打电话:$scenario->skip();
- 跳过后调用:$I->comment("Reason why scenario skipped")
我在单元测试中使用 skip
注释。
/**
* @skip
*/
public function MyTest(UnitTester $I)
{
...
}
使用PHPUnit_Framework_SkippedTestError。例如:
if (!extension_loaded('mongo')) {
throw new \PHPUnit_Framework_SkippedTestError(
'Warning: mongo extension is not loaded'
);
}
首先,请记住,您可以使用哪些命令将取决于您加载了哪些模块和套件。例如,如果您正在使用默认启用 WordPress 的 YML 进行集成测试:
$scenario->skip('your message');
在开箱即用的 Cest 或测试中不起作用,但在验收中起作用。
事实上,通常此命令将与 Cept 测试一起使用 [Cepts 通常是像测试这样的验收,Cests 和测试通常是像 OOP 测试一样的 PHPUnit]。此外,您需要将 $scenario 传递给您的函数。这没有明确记录,我无法让它在 Cests 中工作。不要让我开始说选择“$scenario”作为 BDD 框架的关键字有多糟糕! “场景”是 Gherkin 中的一个关键字,指的是 Codeception 中的“步骤对象”。在 Codeception 中,它似乎被用作“环境”的冗余形式,即使已经有环境、套件和组。与这个伟大框架的大多数一样,文档和函数名称需要由母语为英语的人重写,这是第二次! [还记得“网络人”吗?该死的性别歧视欧洲人!大声笑]。
如果您使用
/**
* @skip
*/
public function myTest(){
//this test is totally ignored
}
Cest 或 Test 中函数正上方的注释将被跳过,甚至不会出现在报告中。 [真的跳过它]。如果您想完全隐藏测试,请使用此选项。
如果直接使用PHPUnit命令:
public function myTest(){
throw new \PHPUnit_Framework_SkippedTestError('This test is skipped');
//this test will appear as a yellow “skipped” test in the report
}
这将在报告中生成一个跳过的测试,将在 HTML 报告中变为黄色 [--html]。如果您想跳过测试但在报告中注意到它已被跳过,请使用此选项。
我只想跳过一个 codeception cest 测试中的一个测试。
您可以使用 Cept 测试 $scenario->skip();
但不适用于 Cest 测试。
所以我想做这样的事情。 运行 第一个测试,但跳过第二个。
Class MyTests{
public funtion test1(){
// My test steps
}
public function test2(){
$scenario->skip("Work in progress");
}
}
提前谢谢你。
您要找的方法叫做"incomplete"。
$scenario->incomplete('your message, why skipping');
如果你想在Cest文件中使用Scenarios,你可以通过你的测试方法的第二个参数来获取它:
class yourCest
{
public function yourTest(WebGuy $I, $scenario)
{
$scenario->incomplete('your message');
}
}
或者您可以使用 $scenario->skip('your message')
class yourCest
{
public function yourTest(WebGuy $I, $scenario)
{
$scenario->skip('your message');
}
}
编辑:
如前所述,WebGuy 已过时,注释 @skip
或 @incomplete
是您应该跳过 Cest 文件中的测试的方式。
class yourCest
{
/**
* @skip Skip message
*/
public function yourTest(AcceptanceTester $I)
{
$I->shouldTestSomething();
}
}
所以要在测试期间跳过您的场景 运行 :
- 您必须将 $scenario 作为测试中的第二个输入参数
- 拨打电话:$scenario->skip();
- 跳过后调用:$I->comment("Reason why scenario skipped")
我在单元测试中使用 skip
注释。
/**
* @skip
*/
public function MyTest(UnitTester $I)
{
...
}
使用PHPUnit_Framework_SkippedTestError。例如:
if (!extension_loaded('mongo')) {
throw new \PHPUnit_Framework_SkippedTestError(
'Warning: mongo extension is not loaded'
);
}
首先,请记住,您可以使用哪些命令将取决于您加载了哪些模块和套件。例如,如果您正在使用默认启用 WordPress 的 YML 进行集成测试:
$scenario->skip('your message');
在开箱即用的 Cest 或测试中不起作用,但在验收中起作用。
事实上,通常此命令将与 Cept 测试一起使用 [Cepts 通常是像测试这样的验收,Cests 和测试通常是像 OOP 测试一样的 PHPUnit]。此外,您需要将 $scenario 传递给您的函数。这没有明确记录,我无法让它在 Cests 中工作。不要让我开始说选择“$scenario”作为 BDD 框架的关键字有多糟糕! “场景”是 Gherkin 中的一个关键字,指的是 Codeception 中的“步骤对象”。在 Codeception 中,它似乎被用作“环境”的冗余形式,即使已经有环境、套件和组。与这个伟大框架的大多数一样,文档和函数名称需要由母语为英语的人重写,这是第二次! [还记得“网络人”吗?该死的性别歧视欧洲人!大声笑]。
如果您使用
/**
* @skip
*/
public function myTest(){
//this test is totally ignored
}
Cest 或 Test 中函数正上方的注释将被跳过,甚至不会出现在报告中。 [真的跳过它]。如果您想完全隐藏测试,请使用此选项。
如果直接使用PHPUnit命令:
public function myTest(){
throw new \PHPUnit_Framework_SkippedTestError('This test is skipped');
//this test will appear as a yellow “skipped” test in the report
}
这将在报告中生成一个跳过的测试,将在 HTML 报告中变为黄色 [--html]。如果您想跳过测试但在报告中注意到它已被跳过,请使用此选项。