php - 无法断言两个对象相等 PHP Codeception
问题描述
我写了一个小测试来检查函数返回的数据是否符合我的期望。
/**
* @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)与结果不匹配(命名空间我的函数 Object & 000000001b2e5d1d000000001e790f83)
我收到如下错误:“断言两个对象相等时失败。” 问题是,我怎样才能比较两个对象或者,我怎样才能摆脱测试中的命名空间依赖,以便我能够成功通过它?提前感谢您的回答!
解决方案
推荐阅读
- sql - SQLite - 在将所有字符插入 varchar 之前检查
- mysql - 在 MySQL 8 中按类别显示前 N 行,在另一个类别中没有重复
- properties - 卸载日志中未找到 WiX 属性
- django - 如何从 2 个表中获取所有记录
- visual-studio - VisualStudio 2017 构建过程中的 System.IO.IOException
- r - 根据 R 中两个变量的平均值制作条形图
- android - Android Studio - Java - 将 ImageView 附加到 XML 文件中定义的布局
- java - 将本地 jar 安装到自动化管道和 sonarqube:如何在没有命令且没有系统路径的情况下执行此操作?
- java - 在java中获取Acceleo查询语言的抽象语法树的节点
- azure - “整数”类型的值不支持属性选择