即使请求的页面不存在,我总是在我的测试用例中获得状态代码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());
}
Run Code Online (Sandbox Code Playgroud)
我正在使用带有netbeans 7.1的phpunits,并且我的symfony防火墙配置为仅允许经过身份验证的用户.否则,他们会重定向到登录页面.
可能有一些php.ini调优吗?
编辑:
这是我从netbeans获得的代码:

首先做@AdrienBrault建议的,使用assertEquals:
$this->assertEquals(200, $client->getResponse()->getStatusCode());
Run Code Online (Sandbox Code Playgroud)
这样您就可以看到返回的状态代码.
您可能正在获得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());
}
Run Code Online (Sandbox Code Playgroud)
请参阅:http://symfony.com/doc/current/book/testing.html#redirecting
| 归档时间: |
|
| 查看次数: |
3745 次 |
| 最近记录: |