fl0*_*l0w 2 java junit assertj
如何在测试中根据字段值“深度”比较两个未实现 equals 方法的对象?
在我的示例中,我有来自两个不同版本的 XML 模式的两个对象,它们仅在版本上有所不同,在我的测试中,我想表明推土机映射的结果等于原始. 自动生成的类不实现 equals 方法。
my.new.schema.Element new = mapper.map(old, my.new.schema.Element.class);
assertEquals(old, new); //obviously doesn't work
Run Code Online (Sandbox Code Playgroud)
最简单的方法是使用AssertJ的递归比较函数:
assertThat(new).usingRecursiveComparison().isEqualTo(old);
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅 AssertJ 文档:https ://assertj.github.io/doc/#basic-usage
使用 AssertJ 的先决条件:
进口:
import static org.assertj.core.api.Assertions.*;
Run Code Online (Sandbox Code Playgroud)
Maven依赖:
<!-- test -->
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.19.0</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1669 次 |
最近记录: |