我写了一个小测试来检查函数返回的数据是否符合我的预期。
/**
* @dataProvider successDataProvider
*/
public function testSuccessProvide(array $responses, ?MyResponse $myResponse): void
{
$dataProvider = new MyDataProvider($this->tester->mockGuzzleClient($responses));
$dataProviderResponse = $dataProvider->provide(Stub::makeEmpty(CheckRequest::class, [
'nameUser' => new Name('test', 'test', 'test')
]));
$this->assertEqualsCanonicalizing($myResponse, $dataProviderResponse);
}
我的函数包含我按预期准备的对象,函数返回的正确数据
public function successDataProvider(): array
{
return [
[
'httpResponses' => [
$this->createSuccessResponse('simple')
],
'dataProviderResponse' => new MyResponse(
[
(object)[
"type" => "Ответчик",
"subType" => "РешенияПерв",
"year" => 2017,
"description" => "Оставить без изменения решение, а апелляционную жалобу - без удовлетворения (п.1 ст.269 АПК)",
"sum" => 10576596.8,
"count" => 1
],
(object)[
"type" => "Ответчик",
"subType" => "РешенияПерв",
"year" => 2017,
"description" => "Оставить решение (определение) суда первой инстанции и постановление суда апелляционной инстанции без изменения, а кассационную жалобу - без удовлетворения",
"sum" => 3519672.72,
"count" => 1
],
(object)[
"type" => "Ответчик",
"subType" => "РешенияАпп",
"year" => 2017,
"description" => "Оставить без изменения решение, а апелляционную жалобу - без удовлетворения (п.1 ст.269 АПК)",
"sum" => 10576596.8,
"count" => 1
],
(object)[
"type" => "Ответчик",
"subType" => "РешенияАпп",
"year" => 2017,
"description" => "Оставить решение (определение) суда первой инстанции и постановление суда апелляционной инстанции без изменения, а кассационную жалобу - без удовлетворения",
"sum" => 3519672.72,
"count" => 1
],
(object)[
"type" => "Ответчик",
"subType" => "РешенияКасс",
"year" => 2017,
"description" => "Оставить решение (определение) суда первой инстанции и постановление суда апелляционной инстанции без изменения, а кассационную жалобу - без удовлетворения",
"sum" => 3519672.72,
"count" => 1
],
(object)[
"type" => "Ответчик",
"subType" => "РешенияПерв",
"year" => 2021,
"description" => "Нет решения",
"sum" => 44014383.56,
"count" => 1
]
]
),
]
];
}
我在左边附上了一张图片:我的数据,右边是测试正确的数据。如您所见,我的数据 (stdClass Object & 000000001b2e5dd1000000001e790f83) 与结果不匹配(命名空间 my function Object & 000000001b2e5d1d000000001e790f83)
我收到如下错误:“断言两个对象相等失败。” 问题是,我如何比较两个对象,或者,如何摆脱测试中的命名空间依赖关系,以便我能够成功通过它?? 提前感谢您的回答!