如何记录某些测试用例故意失败?

时间:2013-02-01 09:34:17

标签: java testing junit documentation

我目前正在调查我们的JPA问题。我想出了两个可能的解决方案来解决这个问题。我写了一组单元测试,显示每个解决方案如何解决问题。在测试每个解决方案期间,我发现一个解决方案无效。

现在我想记录为什么特定解决方案无法完成工作。我可以重写我目前拥有的单元测试,以期望异常。但是,例外只是该解决方案潜在问题的症状。因此,我创建了一个新的单元测试,清楚地表明了该解决方案与JPA规范相冲突的地方。但是,我想将这些其他失败的测试作为这种解决方案可能出现的症状的记录。所以我可以禁用它们并将javadoc放在它们上面,说它们因为特定的测试用例而被禁用。

请注意,我不希望失败的测试用例。否则我也可以使用assumes

还有其他任何方式我可以记录许多测试不需要执行,因为他们会因为另一个测试记录真正的问题成功而失败吗?

我只能使用junit来解决问题。

修改
关于到目前为止的评论和答案,我更喜欢类别,因为如果有人希望它们被执行,测试仍然可以执行而无需任何更改。我仍然关注的是将代表问题症状的测试与真实原因联系起来。那目前只是从症状测试到真实原因测试的javadoc链接。

1 个答案:

答案 0 :(得分:2)

使用@Ignore,并显示以下消息:

@Test
@Ignore("This fails because of a problem with the specification")
public void testWhichFails() {
}

此测试不会运行,您也会知道原因。