这是我的功能测试
class CreateImageTest extends TestCase
{
private static function headers(){
....
}
/**
* @test
*
*/
public function no_api_key_404()
{
......
}
/**
* @test
*
*/
public function not_logged_in_401()
{
......
}
/**
* @test
*
*/
public function empty_body_422()
{
....
}
}
我总是从中间件测试开始,就像你在上面看到的那样(auth和API密钥中间件)。我将使用相同的测试过程来测试具有类似中间件的端点(有很多中间件)。我如何才能做到这一点而不显得多余呢?我想为重复测试模式创建一个trait,但我不知道如何做到这一点。
1条答案
按热度按时间rryofs0p1#
我认为你应该能够通过引入一个AbstractTestCase文件来实现你想要的,这个文件可以包含你所有重复的中间件测试,并且可以被需要它的测试类扩展。
你的抽象类可以看起来像这样:
然后你可以从你的常规测试文件扩展如下:
此外,您可以利用Traits来满足多种类型的中间件。即,如果您的创建映像端点是API密钥授权的,则您可以拥有ApiKeyTrait,如下所示: