即使請求的頁面不存在,我總是會在我的測試用例中得到狀態代碼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