我正在为 Api 测试设置 Codeception。
我有一个 Cest 课程,比如说...
class ZooCest {
public function addingALionToZoo(ApiTester $I)
{
$I->sendPost('zoo/add_animal', ['animal_id' => $animalId]);
}
}
问题是,我在哪里以及如何设置数据来测试我的 api。
按照前面的例子,我可以这样做:
class ZooCest {
public function addingALionToZoo(ApiTester $I)
{
$lion = new Animal('lion');
$lion->save();
$I->sendPost('zoo/add_animal', ['animal_id' => $lion->getId()]);
}
}
但是当业务逻辑复杂时,这会变得混乱。
我可以在支持文件夹中有一个分解器,所以我可以这样:
class ZooCest {
public function addingALionToZoo(ApiTester $I)
{
$lion = DataFactory::create('lion');
$I->sendPost('zoo/add_animal', ['animal_id' => $lion->getId()]);
}
}
但这可能会增长很多,随着时间的推移变得越来越复杂,达到我们甚至可能需要测试该逻辑的地步!(是的,这是个玩笑)
谢谢。