扩展JUnit assertEquals

伊恩·沃森

我想创建一个新的assertEquals,将预期和实际的自定义pojo作为输入。

我怎么会去扩展assertEqualsJUnit library

我能做的就是实现一个比较方法,它返回一个布尔值,并有以此为输入assertEquals,甚至assertTrue而是创造我自己assertEquals看起来更优雅。

如果相等或引发AssertionError只是返回true的情况?

凯文·韦尔克(Kevin Welker)

正如@Makoto所说,您可以使用自定义的Hamcrest Matcher。

另一个常见答案(这里只是更改类的Object#equals的定义)的缺点是,您将只有一种比较对象的方式,并且它必须与测试所需的内容完全匹配而不是班级用户需要的东西。这两个需求可能相同也可能不同。通常,在测试中,我只需要声明一个或两个值,有时是几个,但通常不需要通过类的“自然” #equals方法进行测试的值。此外,我使用许多甚至没有明确覆盖#equals的类。在这些情况下,您将必须定义一个仅适用于测试情况的​​方法,而在语义上可能无法很好地表示该域。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JUnit AssertEquals 失败

JUnit的assertEquals拒绝assertTrue

JUnit Testing的问题:: assertEquals()

JUnit assertEquals失败

JUnit类型安全assertEquals

JUnit使用assertEquals和double

推荐使用String的assertTrue()或assertEquals()的JUnit?

junit assertEquals忽略大小写

JUnit assertEquals更改字符串

我应该使用哪个JUnit的assertEquals?

Java assertEquals 导致 JUnit 测试失败

assertEquals(Double,Double)和assertEquals(double,double,delta)之间的Junit差异

为什么JUnit assertEquals(-0.0,0.0)失败?

为什么在JUnit中不推荐使用assertEquals(double,double)?

为什么assertEquals(Object,Object)不使用junit comparisonFailure?

JUnit的。assertEquals(Array.toString(),output.toString())

assertEquals精度

如何在 JUnit assertEquals 中获取首先不匹配的对象的哪个属性?

如果我们使用assertEquals,是否值得在Junit测试用例中首先检查assertNotNull?

assertEquals JUnit 方法参数反转是一个很大的风险吗?

当scala case类包含内部Array时,它的均等性在junit assertEquals中不起作用

为什么在的assertEquals可选的断言消息移动到的Junit 5的最后一个位置?

为什么的assertEquals(对象[],对象[])从JUnit 4中弃用?

Intellij Gradle项目无法将junit 4.11作为testCompile dep解析为assertEquals

JUnit4(assertEquals)说的对象是不同的,当它们相同时?

JUnit assertEquals(预期的两倍,实际的两倍,ε的两倍)

比较两个对象时,JUnit assertEquals()不起作用

Eclipse JUnit assertEquals(String, String) - 在故障跟踪中禁用方括号差异

为什么在使用@RunWith(SpringJUnit4ClassRunner.class)时JUnit 4.12会为assertEquals抛出NoSuchMethodError?