0

在 ZF2 中使用 PhpUnit 进行单元测试时,会显示以下消息:

断言 302 与预期的 200 匹配失败

我知道它出现是因为 ZF2 的重定向命令:

return $this->redirect()->toUrl('/admin/album/add');

但是当我在浏览器中访问它时,该站点可以使用上述代码查找。但它在单元测试中失败了。

我应该改变什么?

4

1 回答 1

3

浏览器与单元测试不同,反之亦然。你的期望或结果是不同的。

收到 302 响应代码的浏览器必须重定向,这意味着它将获取响应中的 URL 并提交新请求。您在浏览器中看到的结果是重定向页面。

单元测试不会重定向。您的单元测试只是在做您指示它做的事情。如果您的单元测试应该测试重定向,那么您评估响应并且正确的断言是 302 而不是 200。

如果您想确保重定向中的 URL 是正确的,您必须编写另一个测试来实际获取新页面并测试该响应是否为 200 OK。

于 2012-10-29T13:10:10.067 回答