您要使用哪种架构模式在测试功能上生成测试数据,该功能首先生成测试数据,然后进行功能性api测试,然后断言某些结果?
public function test_it_returns_not_found_when_book_doesnt_exist(){
// data generation
$account = new Account();
$account->setName("Test");
$account->save();
$user = new User();
$user->setEmail("test@test.de");
$user->setAccount($account);
$user->save();
// request
$this->client->init("api.example.com");
$this->client->login($user);
$res = $this->client->request("GET","/books/1");
// assertion
$this->assertEquals(404, $res->getStatusCode());
}
我希望数据生成尽可能地可重用和灵活。它还应具有默认值,并且如果编写测试功能的开发人员需要,则应将其覆盖。在某些情况下,我们只需要一定数量的元素,例如在其他的1:n关系中,我们需要非常特定的行。