【发布时间】:2020-05-07 14:55:20
【问题描述】:
项目使用TestNg、Java11、Spring测试
我正在为 API 编写 testNG 测试 我有一个具有这种结构的 java 对象:
class Object1
private Object2 o2;
private List<Object3> o3;
其中Object2 不仅由原始属性组成。
我想测试 2 Object1 是否与这些规则相等:
- 如果实际
o2为空,即使另一个o2不是,也不要失败 - 如果实际
o3为 null 或为空,即使另一个o3不是,也不要失败 - 如果实际
o3既不为空也不为空,则仅比较非空Object3字段
总而言之,我想断言 2 个对象是相同的,递归地忽略空字段。
我能做到
assertThat(actual).usingRecursiveComparison().ignoringActualNullFields().isEqualTo(other);
但不会忽略递归的空字段。
我该如何解决这个问题?
【问题讨论】: