只要测试没有引发异常,它就会通过,除非您的
@Test注释指定了预期的异常。我想
pass()可能会抛出一个特殊的异常,JUnit总是将其解释为通过,从而使测试短路,但这会违背通常的测试设计(即假设成功,并且仅在断言失败时失败),并且如果有人最好使用的想法
pass(),这将大大减慢大量通过测试的速度(由于异常创建的开销)。失败的测试不应该成为常态,因此,如果有这些开销,那就没什么大不了的。
请注意,您的示例可以这样重写:
@Test(expected=IncorrectArgumentForSetter.class)public void testSetterForeignWord("") throws Exception { card.setForeignWord("");}
另外,您应该赞成使用标准Java异常。您
IncorrectArgumentForSetter可能应该是一个
IllegalArgumentException。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)