2014-01-07 2 views
0

Я пытаюсь сделать вызов с json-объектом в качестве параметра из testclass. Как я могу это сделать? Я не могу найти ничего в документации. Если я сделаю тот же звонок с клиентом Chrome Advanced Rest Client и тем же самым json-объектом, он работает. Но я не знаю, как позвонить из теста, потому что, если я звоню с Json Object, тогда он говорит, что ему не разрешено звонить с помощью String, если я попробую его с массивом, он говорит: «UnexpectedValueException: содержимое ответа должно быть строка или объект, реализующий __toString(), «boolean». Пожалуйста, помогите мне, я волнуюсь. :)Unittesting with laravel, вызов с параметром Json

$data = array("text" => "unit_test"); 
    $jsonData = json_encode($data); 

    $this->call('PUT','stomt/1', array('{"text" : "test"}')); 
    //or 
    $this->call('PUT','stomt/1', $jsonData); 
    //or 
    $this->call('PUT','stomt/1',array($jsonData)); 

ответ

0

Попробуйте это:

$this->call('PUT','stomt/1', array("text" => "test")); 

Ваша идея была правильной, но так, что вы создали массив не является. IE:

array('{"text" : "test"}') 

не будет правильно создавать массив в PHP.

+0

Большое спасибо, но он по-прежнему бросает то же исключение. Если я получу другой вызов, все работает нормально, но как только я пытаюсь опубликовать или поместить что-то, это не сработает. – Freak4365

+0

Эй, можете ли вы вставить ошибку, которую вы получаете при выполнении вышеуказанного кода? – berrberr

+0

Ошибка в вопросе, его «UnexpectedValueException: содержимое ответа должно быть строкой или объектом, реализующим __toString(),« boolean ». – Freak4365

Смежные вопросы