2

我正在使用 Codeception 构建 API 验收测试。

我熟悉那里的单元测试,并且在运行该类的所有测试之前,我在这些类中使用了 setUp 方法来处理所需的所有逻辑。

但是,对于验收测试,我没有找到类似的东西。

请注意,我使用的是“类”方法,而不是程序方式。

所以我有这样的课......

class ResourceCest {
    public function _beforeSuite(ApiTester $I)
    {
        // Ideally this would work, but it doesn't.
    }

    public function _before(ApiTester $I) 
    {
        $I->am('Api Tester');
    }
    public function somethingThatIWantToExecute(ApiTester $I)
    {
        $I->sendGet('something');
        // etc
    }
}

我可以创建一个像 setUp 这样的方法,但是 Codeception 将它作为测试执行,从而在运行测试时输出一些东西。

4

1 回答 1

4

你不应该定义_beforeSuite你的Cest类内部。相反,您应该使用内部的 Helper 类_support

假设你有一个名为的套件api,你应该在ApiHelper.php里面有一个类_support。在那里,您可以定义您的方法,例如:

<?php
namespace Codeception\Module;

// here you can define custom actions
// all public methods declared in helper class will be available in $I

class ApiHelper extends \Codeception\Module
{
    public function _beforeSuite($I) {
        var_dump($I);
        die();
    }
}

这应该可以解决问题。

于 2015-05-22T17:29:25.440 回答