Intereting Posts
множественные входы codeigniter в таблице Автозагрузчик ZF для загрузки предка и запрошенного класса Как использовать Composer для автозагрузки классов извне поставщика? как я могу использовать imagick в php? (изменение размера и урожая) Каков наиболее безопасный способ для загрузки файла? Как правильно передавать данные с контроллера для просмотра? Простая математика с десятичными знаками в PHP Не удалось записать данные сеанса (memcache) Объединение видеофайлов с помощью PHP Передача двух разных форм с внешней кнопкой отправки не работает должным образом Лучший способ загрузить файл в PHP Codeigniter – одна услуга с несколькими точками доступа, субдоменами, htaccess Лучший класс изображений изображений PHP «Не удалось подключиться: доступ запрещен для пользователя« root »@« localhost »(с использованием пароля: YES)» из функции php Расширение PHP xmlrpc и MAMP

Laravel 5.1 + PHPunit – API-тест возвращает всегда неверную ошибку аргумента foreach

Я обновил с Laravel 5.0 до 5.1

Набор тестов отлично работает, и я могу запустить команду phpunit. Но, когда я начинаю тестировать с помощью теста api, я всегда получаю ошибку foreach.

class ExampleTest extends TestCase { public function testLoginCredentials() { $this->post('/srv/plc/auth/login', ['data' => 'some data']) ->seeJson([ 'authorized' => true, ]); } } 

Выше выглядит документация: http://laravel.com/docs/5.1/testing#testing-json-apis

Если я запустил свой тест через phpunit, я получаю следующую ошибку:

 There was 1 error: 1) ExampleTest::testBasicExample ErrorException: Invalid argument supplied for foreach() /Applications/XAMPP/xamppfiles/htdocs/w/server/vendor/framework/src/Illuminate/Support/Arr.php:423 /Applications/XAMPP/xamppfiles/htdocs/w/server/vendor/framework/src/Illuminate/Support/helpers.php:301 /Applications/XAMPP/xamppfiles/htdocs/w/server/vendor/framework/src/Illuminate/Foundation/Testing/CrawlerTrait.php:365 /Applications/XAMPP/xamppfiles/htdocs/whennn/server/vendor/laravel/framework/src/Illuminate/Foundation/Testing/CrawlerTrait.php:352 /Applications/XAMPP/xamppfiles/htdocs/whennn/server/tests/ExampleTest.php:17 /Applications/XAMPP/xamppfiles/lib/php/PHPUnit/TextUI/Command.php:188 /Applications/XAMPP/xamppfiles/lib/php/PHPUnit/TextUI/Command.php:126 FAILURES! Tests: 1, Assertions: 0, Errors: 1. 

Если я получаю запрос с $ this-> get, я получаю ту же ошибку. Такая же ошибка с другими конечными точками.

$ this-> посещение отлично работает.

После много отладки ….

  • seeJson () принимает только массив Json (не Json-объект)
  • Ошибка Foreach появляется, когда тестируемая конечная точка не возвращает массив. Если массив больше, появляется ошибка.

Я действительно не знаю, почему seeJson должен быть массивом.

Я ожидал ошибку утверждения, вместо ошибки foreach