Functional testing in Symfony2 gives me error: Failed asserting that false is true
Functional testing in Symfony2 gives me error: Failed asserting that false is true
我有我这样做的地方:
return $this->redirect($this->generateUrl('url_key'));
在我的测试中我这样做:
$this->assertTrue($client->getResponse()->isRedirect());
但我得到错误:
Failed asserting that false is true
我的问题在哪里?为什么我会收到错误消息?
我的完整测试:
public function testDeleteAction()
{
$client = static::createClient();
$client->request('GET', '/translation/delete/messages/test.key');
$client->followRedirects();
$this->assertTrue($client->getResponse()->isRedirect());
}
仅当您希望在获得重定向响应后执行另一个请求时才应使用 followRedirect
。在你的情况下你不需要它(甚至你不能使用它 - 如果你这样做 followRedirects
那么你会得到另一个不再是 "redirect response" 的响应 - 所以断言将失败)。
可能是第一个请求出了问题。检查响应的状态和可选内容:
public function testDeleteAction()
{
$client = static::createClient();
$client->request('GET', '/translation/delete/messages/test.key');
// of course you should use the "pro-way" and check it with debbuger instead of var_dumps ;)
var_dump($client->getResponse()->getStatus());
var_dump($client->getResponse()->getContent());
$this->assertTrue($client->getResponse()->isRedirect());
}
检查是否没有 404 或 500 状态 - 如果是,然后找出原因(或使用其他信息扩展您的问题)。
我有我这样做的地方:
return $this->redirect($this->generateUrl('url_key'));
在我的测试中我这样做:
$this->assertTrue($client->getResponse()->isRedirect());
但我得到错误:
Failed asserting that false is true
我的问题在哪里?为什么我会收到错误消息?
我的完整测试:
public function testDeleteAction()
{
$client = static::createClient();
$client->request('GET', '/translation/delete/messages/test.key');
$client->followRedirects();
$this->assertTrue($client->getResponse()->isRedirect());
}
仅当您希望在获得重定向响应后执行另一个请求时才应使用 followRedirect
。在你的情况下你不需要它(甚至你不能使用它 - 如果你这样做 followRedirects
那么你会得到另一个不再是 "redirect response" 的响应 - 所以断言将失败)。
可能是第一个请求出了问题。检查响应的状态和可选内容:
public function testDeleteAction()
{
$client = static::createClient();
$client->request('GET', '/translation/delete/messages/test.key');
// of course you should use the "pro-way" and check it with debbuger instead of var_dumps ;)
var_dump($client->getResponse()->getStatus());
var_dump($client->getResponse()->getContent());
$this->assertTrue($client->getResponse()->isRedirect());
}
检查是否没有 404 或 500 状态 - 如果是,然后找出原因(或使用其他信息扩展您的问题)。