0

我测试一个控制器动作。我通过 POST 方法将数据传递给它。将数据保存到数据库后,我会重定向到主页,在该主页上显示有关操作结果的消息。

我想测试消息的文本是否等于预期,但我得到一个空值而不是 $this->contents 值。

然而,通过浏览器成功保存了所有数据并显示消息。

下面是我对 testAction 的调用

 $res = $this->testAction('/ask', array_merge(array('return' => 'contents'), array('data' => $fields_data, 'method' => 'post')));
4

1 回答 1

1

testAction()不遵循重定向,就这么简单。

您必须相应地更改您的测试,并且可能测试是否Controller::redirect()正在调用、响应是否设置了预期的标头、是否设置了预期的 flash 消息等。

反过来,通过在调用操作之前定义可能的闪存消息来单独测试您计划重定向到的操作。

于 2014-07-26T14:06:03.403 回答