我正在使用 Codeception 构建 API 验收测试。
我熟悉那里的单元测试,并且在运行该类的所有测试之前,我在这些类中使用了 setUp 方法来实现所需的所有逻辑。
但是我没有找到类似的验收测试。
请注意,我使用的是“类”方法,而不是过程方法。
所以我有一个这样的类(class)......
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 将其作为测试执行,从而在运行测试时输出一些内容。
最佳答案
您不应在 Cest
类中定义 _beforeSuite
。相反,您应该使用 _support
内的 Helper 类。
假设您有一个名为 api
的套件,则 _support
中应该有一个 ApiHelper.php
类。在那里,您可以定义您的方法,例如:
<?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();
}
}
这应该可以解决问题。
关于api - 如何使用 Codeception Hook beforeSuite 事件进行 API 验收测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30371431/