【发布时间】:2021-07-13 11:32:59
【问题描述】:
我在 Codeigniter 4 中进行 HTTP 测试并收到以下错误:
CodeIgniter\Exceptions\PageNotFoundException: Controller method is not found
原因是我试图在只有post 的路由 上调用get() 方法(将其切换到add 会产生不同的响应)。那是正确的。如果有人试图破解它,我正在尝试确保该页面返回 404。问题是 Codeigniter 没有断言 Status 是 404 它只是摔倒了。这是我的代码触发:
$r = $this->withSession($session)->get($url);
$r->assertStatus(404);
注意断言永远不会运行!相反,我收到了原始错误消息。当然,我应该能够检查 404 路由(我尝试过 '404' 而不是 int)??是的,我可以设置一个允许 Get 的自定义路由,但我想按原样测试它而不是测试它不是什么。
如何让 CI4 将我的错误路由作为 404 接受?
【问题讨论】: