目前我正在尝试在我的控制器上测试一个,它需要一个json文件作为输入。控制器正在使用等待json消息
$input = Input::all();
我的目标是编写一个单元测试,通过路由将json文件发送到控制器,例如使用laravel的$this->call($method, $uri, $parameters, $files, $server, $content)
方法。
我假设我必须将json消息作为一个普通字符串输入一个名为$content
的值中,比如:
$this->content('Json Message String');
作为$method
,我使用"Post",而$uri
是通往我的ImporterController
的路线。
问题是,控制器端的数组$input
总是空的,那么是否需要将消息声明为Json?
谢谢你的帮助!
好吧,我自己想好了。不知道是否有人对此感兴趣,但为了发送json消息,我唯一要做的就是:
$json = 'json message';
$this->params = json_decode($json,true);
$this->call($this->method, $this->uri,$this->params);
因此,必须使用json_decode
将消息声明为json,并将其存储为参数,而不是内容。