@请回答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。
关于 LearnKu
推荐文章: