我在这里查看了手册: http://codeception.com/docs/07-AdvancedUsage 并且能够为方法设置@depens注释。
class InvoiceStatusCest
{
public function testOne()
{
}
/**
* @depends testOne
*/
public function testTwo()
{
}
}
但令我惊讶的是,我的testTwo()总是跳过,即使testOne()如果为空或传递...
我在控制台中看到
Running InvoiceStatusCest.testOne - Ok
- Skipped
答案 0 :(得分:2)
在您的代码版本中,依赖项的处理效果不是很好,但您可以使用此批注完成所需的操作:
class InvoiceStatusCest
{
public function testOne()
{
}
/**
* @depends Codeception\TestCase\Cest::testOne
*/
public function testTwo()
{
}
}
答案 1 :(得分:2)
Codeception有一些严重的注释
例如 此
/*
* @depends testOne
*/
不会工作但是这个
/**
* @depends testOne
*/
将起作用
注意单个*与开头的**。
我花了4个小时才发现这个...
答案 2 :(得分:1)
我在进行测试时遇到的问题取决于另一个Cest中的另一个测试。使用@depends
注释中来自其他Cest的测试的正确名称为我工作:
class InvoiceCest
{
public function testCreate()
{
}
}
class InvoiceStatusCest
{
/**
* @depends testCreate
*/
public function testChangeInvoiceStatus()
{
}
}