我正在尝试为clone()大型项目中的各种操作编写单元测试,我想知道是否有一个现有的类能够获取两个相同类型的对象,进行深入比较,并说是否'相同与否?
我有两个对象A和B.对象A是我在JUnit测试期间得到的实际结果.对象B是我做一个实际的结束数据库调用并假设按预期审查.我需要声明两个对象实例A并且值B相等而不是实际对象.
我们有一个assertEquals(obj expected, obj actual)在JUnit中调用的方法,但我不希望这样.
有没有办法或解决方法来实现相同的目标?
是否有任何理由对多个断言进行分组:
public void shouldTellIfPrime(){
Assertions.assertAll(
() -> assertTrue(isPrime(2)),
() -> assertFalse(isPrime(4))
);
}
Run Code Online (Sandbox Code Playgroud)
而不是这样做:
public void shouldTellIfPrime(){
Assertions.assertTrue(isPrime(2));
Assertions.assertFalse(isPrime(4));
}
Run Code Online (Sandbox Code Playgroud) 我有两个具有完全相同属性的对象.不要问我为什么,这是生成的代码,我必须处理这个.
class Bean1 {
int id;
}
class Bean2 {
int id;
}
Run Code Online (Sandbox Code Playgroud)
我想比较每个类的对象而不编写每个属性的比较代码.这个线程解释了如何比较两个对象,但在我的情况下,这会失败,因为它们不是同一个类的实例.
此代码返回false:
EqualsBuilder.reflectionEquals(new Bean1(1), new Bean2(1));
Run Code Online (Sandbox Code Playgroud)
有没有其他方法来comapre对象和忽略对象类?
任何人都知道unitils项目是否还活着.页面最后一个版本在maven存储库中是3.3.它是3.4.2.(实际上有他们的页面的谷歌缓存版本,其版本据说是3.4.2)
无论如何,这个项目有任何替代品.我有点缺乏生动的社区,真的不想被迫死的项目.
java ×5
junit ×2
unit-testing ×2
assertions ×1
comparison ×1
equals ×1
junit5 ×1
reflection ×1
testing ×1
unitils ×1