我的项目中有404,403和其他例外的自定义错误模板。我想创建单元测试用例来断言http错误。当我使用用户登录并访问供应商的授权页面时,我在浏览器中获得403拒绝访问但在单元测试案例中我总是收到404页面未找到错误。
这是我的测试场景:
awk 'BEGIN{OFS=FS="\t"} {$(NF+1)=(NR==1)? "merged_names" : $(NF-1)"__"$NF}1' file
我的测试用例失败,当我打印响应内容时,它将显示404错误模板。
答案 0 :(得分:1)
解决了这个问题。所以,我的解决方案不需要使用http主机。
public function testAccessDeniedException()
{
$client = static::createClient(array('debug' => false));
$session = $client->getContainer()->get('session');
$firewall = 'main';
$token = new UsernamePasswordToken('user', null, $firewall, array('ROLE_USER'));
$session->set("_security_$firewall", serialize($token));
$session->save();
$cookie = new Cookie($session->getName(), $session->getId());
$client->getCookieJar()->set($cookie);
$client->request('GET', 'fr/vendor/profile/edit');
$this->assertEquals(403, $client->getResponse()->getStatusCode());
$this->assertContains('Sorry! Access Denied', $client->getResponse()->getContent());
}