Codelay skipps测试方法即使通过依赖测试也是如此

时间:2014-05-19 10:00:30

标签: skip codeception depends

我在这里查看了手册: http://codeception.com/docs/07-AdvancedUsage 并且能够为方法设置@depens注释。

class InvoiceStatusCest
{
    public function testOne()
    {

    }

    /**
     * @depends testOne
     */
    public function testTwo()
    {
    }

}

但令我惊讶的是,我的testTwo()总是跳过,即使testOne()如果为空或传递...

我在控制台中看到

Running InvoiceStatusCest.testOne - Ok
 - Skipped

3 个答案:

答案 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()
    {

    }
}