即使请求的页面不存在,我总是会在我的测试用例中得到状态代码200/ok。phpunit中错误的状态代码
public function testCompleteScenario()
{
$client = static::createClient();
$container = $client->getContainer();
$kernel = $client->getKernel();
$crawler = $client->request('GET', '/somethingnotexisting');
$this->assertTrue(200 === $client->getResponse()->getStatusCode());
}
我使用phpunits与NetBeans 7.1和我的symfony的防火墙配置为只允许认证的用户。否则,他们会重定向到登录页面。
有可能是一些php.ini调优?
编辑:
这里是代码,我从NetBeans中:
当您使用浏览器浏览网页时,您会获得什么状态代码?它是否将您重定向到登录页面,还是您获得了404?也许这就是问题所在! – Sgoettschkes 2012-07-17 18:24:17
另外考虑使用'assertEquals'而不是'assertTrue':'$ this-> assertEquals(200,$ client-> getResponse() - > getStatusCode());'。当这个测试失败时,你会知道你有哪些状态码,而不是200. – AdrienBrault 2012-07-17 19:54:29
当我浏览一个不存在的页面时,我有一个错误404. – Chopchop 2012-07-18 10:13:14