gpt4 book ai didi

php - Laravel 5.1 + PHPunit - API 测试总是返回无效参数错误

转载 作者:行者123 更新时间:2023-12-03 03:06:59 25 4
gpt4 key购买 nike

我已从 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 执行 get 请求,我会收到相同的错误。其他端点也出现同样的错误。

$this->访问工作正常。

最佳答案

经过大量调试......

  • seeJson() 只接受 Json 数组(不是 Json 对象)
  • 当测试的端点未返回数组时,会出现 Foreach 错误。如果不止一个数组,则会出现错误。

我真的不知道为什么seeJson必须是一个数组。

我预计会出现“断言错误”,而不是 foreach 错误

关于php - Laravel 5.1 + PHPunit - API 测试总是返回无效参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31921451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com