我必须为在Laravel 5.6中构建的API端点编写测试用例。 API端点调用外部API,并根据响应和数据库中的值做出决定。
下面是我的端点所调用的Model方法的大致外观
public function getFields( $user ) {
$apiResponse = ExternalAPI::getResponse ( $user->id );
if( $user->perms == 1 ) {
if( $apiResponse->fields == 'contact' ) {
return true;
} else {
return false;
}
} elseif( $user->perms == 2) {
if( $apiResponse->fields == 'leads' ) {
return true;
} else {
return false;
}
}
return false;
}
因此,我必须模拟来自API的响应,并在每个测试用例之前在数据库中设置适当的值。
请您提出建议,我将如何编写不同的测试用例对此进行测试。我知道我必须使用模拟和工厂类,但是我不确定如何将它们放在一起。