assertMatchesResourceCollectionJsonSchema出现“NULLvaluefound,butanobjectisrequired”错误
创始人
2024-09-20 16:00:54
0次

这个错误通常出现在使用PHPUnit测试框架时,检查JSON响应是否符合所期望的架构。通常是因为响应JSON为空或者响应格式不正确导致的。

解决方法为先检查JSON响应是否为空,然后检查响应格式是否正确。可以尝试使用var_dump函数打印结果来调试该问题。

以下示例演示了如何使用PHPUnit测试框架和纯PHP来进行JSON格式检验的示例:

// 在测试框架中使用PHPUnit和assertMatchesResourceCollectionJsonSchema public function testApiEndpointReturnsSomeData() { $client = new GuzzleHttp\Client(); $response = $client->get('http://example.com/api/endpoint');

$data = json_decode($response->getBody()->getContents(), true);
$schema = file_get_contents(__DIR__ . '/schemas/endpoint-collection.json');

$this->assertArrayHasKey('data', $data, 'Response does not have a "data" key.');

$this->assertMatchesResourceCollectionJsonSchema($schema, $data);

}

// 使用纯PHP进行JSON格式检验示例 $jsonResponse = '{ "data": [ { "id": 1, "name": "John" }, { "id": 2, "name": "Jane" } ] }';

$schema = '{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "required" : [ "data" ], "properties" : { "data": { "type": "array", "items": { "type": "object", "required": [ "id", "name" ], "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } } } } }';

$data = json_decode($jsonResponse, true); $schema = json_decode($schema, true);

$validator

相关内容

热门资讯

玩家必看秘籍!wepoker怎... 您好,玩家必看秘籍!wepoker怎么设置盖牌,微扑克有挂吗平台(本然真的有透视)这款游戏可以开挂的...
大神推荐!wepoker免费脚... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...
终于知道!!wepoker透视... 终于知道!!wepoker透视是真的吗,WPK软件下载下载(其实存在有开挂)AI 是一款可以让一直输...
科技教程!wepoker怎么发... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成wepoker怎么发冤家牌解析、 A...
热点推荐!!wpk显示有作弊,... 很多人使用云端 AI 时,都担心wpk显示有作弊、内部资料上传带来隐私风险。这款本地运行的 AI 黑...
玩家必备科普!wpk透视工作室... 玩家必备科普!wpk透视工作室,德扑之星外卦神器软件平台(切实有辅助挂)AI 是一款可以让一直输的玩...
重大通报!!德扑之星透视免费,... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成德扑之星透视免费解析、 AI 处理、...
解密关于!WPK德州局,德普之... WPK德州局AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数据包,断网...
玩家攻略!wepoker代打辅... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成wepoker代打辅助解析、 AI ...
热点推荐!!有哪些免费的wpk... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...