如何使用phpunit测试JsonArray中的随机值
How to test random value in JsonArray using phpunit
大家好我正在尝试测试 API 并从响应中获取特定的 json 元素,这里是 API 的响应:
{
"Error": null,
"Data": {
"AuthToken": "jaskdfjlsadkfjasd",
"InactiveTimeout": 20
}
}
由于 AuthToken 的值始终是随机的,因此我无法使用此代码对其进行测试:
$this->post('/login',
[
'id'=>'1',
'password'=>'secret',
])->seeJson([
"Error" => null,
'Data'=>array(
'AuthToken'=>'',
'InactiveTimeout'=>20)
]);
我试过使用此代码:
$this->post('/login',
[
'id'=>'1',
'password'=>'secret',
])->seeJson([
"Error" => null,
'Data'=>array(
'InactiveTimeout'=>20)
]);
但是我没有通过测试,我的问题是这个case的测试怎么写?
感谢您的帮助。
您可以试试下面的代码:
$this->post('/login', [
'id' => '1',
'password' => 'secret',
])
->seeJson([
'Error' => null
])
->seeJsonStructure([
'Data' => [
'AuthToken'
]
]);
大家好我正在尝试测试 API 并从响应中获取特定的 json 元素,这里是 API 的响应:
{
"Error": null,
"Data": {
"AuthToken": "jaskdfjlsadkfjasd",
"InactiveTimeout": 20
}
}
由于 AuthToken 的值始终是随机的,因此我无法使用此代码对其进行测试:
$this->post('/login',
[
'id'=>'1',
'password'=>'secret',
])->seeJson([
"Error" => null,
'Data'=>array(
'AuthToken'=>'',
'InactiveTimeout'=>20)
]);
我试过使用此代码:
$this->post('/login',
[
'id'=>'1',
'password'=>'secret',
])->seeJson([
"Error" => null,
'Data'=>array(
'InactiveTimeout'=>20)
]);
但是我没有通过测试,我的问题是这个case的测试怎么写? 感谢您的帮助。
您可以试试下面的代码:
$this->post('/login', [
'id' => '1',
'password' => 'secret',
])
->seeJson([
'Error' => null
])
->seeJsonStructure([
'Data' => [
'AuthToken'
]
]);