JUnit4 fail()在这里,但是pass()在哪里?

JUnit4 fail()在这里,但是pass()在哪里?,第1张

JUnit4 fail()在这里,但是pass()在哪里?

只要测试没有引发异常,它就会通过,除非您的

@Test
注释指定了预期的异常。我想
pass()
可能会抛出一个特殊的异常,JUnit总是将其解释为通过,从而使测试短路,但这会违背通常的测试设计(即假设成功,并且仅在断言失败时失败),并且如果有人最好使用的想法
pass()
,这将大大减慢大量通过测试的速度(由于异常创建的开销)。失败的测试不应该成为常态,因此,如果有这些开销,那就没什么大不了的。

请注意,您的示例可以这样重写:

@Test(expected=IncorrectArgumentForSetter.class)public void testSetterForeignWord("") throws Exception {  card.setForeignWord("");}

另外,您应该赞成使用标准Java异常。您

IncorrectArgumentForSetter
可能应该是一个
IllegalArgumentException



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5489859.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存