@请回答2011丶 因为对于复杂的 json 数据结构,这样写就不严谨了。直接 assert 整个json内容,把 api json data 放入一个json文件内,称为baseline,即是 expected data,你的actual data与这个expected data进行assert下,看是否不一样。。
这样就是assert 整个json data,只要任何一处出现git diff,看是否是自己想要的,是想要的就用actual data覆盖expected data作为以后的expected data,不是想要的就是代码写错了。。
总之,assert 整个json data, 而不是api json 的某一处key, value。
@请回答2011丶 我是这样做的
$params = ['phone' => $phone];
$with = ['user', 'type'];
$result = $this->user->listAccountWithByParamArray($params, $with);
$this->assertArrayHasKey('data', $result);
$account = $result['data'][0];
$this->assertArrayHasKey('nickname', $account);
$this->assertArrayHasKey('user_id', $account);
$this->assertArrayHasKey('is_available', $account);
@请回答2011丶 因为对于复杂的 json 数据结构,这样写就不严谨了。直接 assert 整个json内容,把 api json data 放入一个json文件内,称为baseline,即是 expected data,你的actual data与这个expected data进行assert下,看是否不一样。。
这样就是assert 整个json data,只要任何一处出现git diff,看是否是自己想要的,是想要的就用actual data覆盖expected data作为以后的expected data,不是想要的就是代码写错了。。
总之,assert 整个json data, 而不是api json 的某一处key, value。
推荐文章: