在我的测试用例中,我总是得到200/ok的状态码,即使请求的页面不存在。
public function testCompleteScenario()
{
$client = static::createClient();
$container = $client->getContainer();
$kernel = $client->getKernel();
$crawler = $client->request('GET', '/somethingnotexisting');
$this->assertTrue(200 === $client->getResponse()->getStatusCode());
}我在netbeans 7.1中使用phpunits,我的symfony防火墙被配置为只允许经过身份验证的用户。否则,它们将被重定向至登录页面。
也许有一些php.ini调优要做?
编辑:
以下是我从netbeans获得的代码:

发布于 2012-07-21 00:41:22
我花了3天的时间来解决这个问题。
我把我的PHPUnit版本从3.6.11降到了3.5.14。
它现在可以更好地与NetBeans配合使用
发布于 2012-07-18 16:26:53
首先按照@AdrienBrault的建议,使用assertEquals:
$this->assertEquals(200, $client->getResponse()->getStatusCode());这样,您将看到返回了什么状态代码。
你可能会得到301或302 (重定向),因为默认情况下功能测试客户端不会重定向。
尝试如下所示:
public function testCompleteScenario()
{
$client = static::createClient();
$container = $client->getContainer();
$kernel = $client->getKernel();
$client->request('GET', '/somethingnotexisting');
$crawler = $client->followRedirect();
$this->assertEquals(200, $client->getResponse()->getStatusCode());
}请参阅:http://symfony.com/doc/current/book/testing.html#redirecting
https://stackoverflow.com/questions/11527246
复制相似问题