如何使用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'
        ]
    ]);