我在问自己如何用symfony角色访问中的phpunit进行测试。 例如,如果我有我的安全配置中的indexAction和5个不同的角色,我想确保用户A将有一个401,用户B 403,用户C 500 ...测试角色访问symfony中的控制器
但它会导致一个问题:测试需要很长的时间才能执行,因为我们有5个功能测试。现在
,我做的事情的那种:
/**
* @covers \App\Bundle\FrontBundle\Controller\DefaultController::indexAction()
*
* @dataProvider rolesAllAccess
*
* @param string $user
* @param integer $expectedCode
*
* @return void
*/
public function testRolesIndexAction($user, $expectedCode)
{
$client = $this->createClientWith($user);
$client->request('GET', '/');
$this->assertEquals($expectedCode, $client->getResponse()->getStatusCode());
}
功能createClientWith验证,我在我的数据提供程序之前定义的客户端。它正是我之前描述的。
你对于如何做得更好或者 - 至少 - 有更好的表现吗?
谢谢!
你可以异步执行你的测试/并行,加快整体执行时间。 – nifr