我正在使用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将它作为测试执行,从而在运行测试时输出一些东西。
答案 0 :(得分:3)
您不应该在_beforeSuite
课程中定义Cest
。相反,您应该在_support
中使用Helper类。
假设您有一个名为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();
}
}
这应该可以解决问题。