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

相关内容

热门资讯

wpk辅助挂!aa poker... 1、wpk辅助挂!aa poker下载地址,(wEPOKE)从来有挂(详细辅助新2025版);详细教...
透视总结(德州ai人工智能)哈... 1、透视总结(德州ai人工智能)哈糖大菠萝怎么拿好牌(详细辅助新版2025教程)起初真的有挂2、进入...
透视最新(wpk德州透视辅助)... 透视最新(wpk德州透视辅助)德扑之星刷数据(详细辅助力荐教程)从来有挂1、打开德州poker外挂分...
wepower有外挂!微扑克俱... wepower有外挂!微扑克俱乐部24小时,(WepoKe)都是有挂(详细辅助高科技教程)1、很好的...
透视线上(德州免费辅助神器ap... 透视线上(德州免费辅助神器app)wepoke智能ai(详细辅助透牌教程)其实真的有挂1、每个玩家都...
智星德州菠萝开挂!德扑ai代打... 智星德州菠萝开挂新手教程相关信息汇总(需添加指定Q群1067239143获取下载链接);智星德州菠萝...
透视智能ai(wpk ai辅助... 透视智能ai(wpk ai辅助)微扑克ai辅助(详细辅助攻略教程)果然是有挂;人气非常高,ai更新快...
wpk德州透视辅助!wpk俱乐... wpk德州透视辅助!wpk俱乐部软件,(德州aapoker俱乐部)切实真的有挂(详细透视技巧教程)准...
透视总结(wepoke辅助机器... 透视总结(wepoke辅助机器人)微扑克wpk(详细辅助专业教程)确实存在有挂是一款可以让一直输的玩...
aapoker辅助!红龙扑克发... 1、aapoker辅助!红龙扑克发牌有问题,(Wepoke)真是是真的有挂(详细辅助曝光教程)(UU...