2

我目前正在调查我们遇到的 JPA 问题。针对这个问题,我想到了两种可能的解决方案。我编写了一组单元测试来展示每个解决方案如何解决问题。在测试每个解决方案期间,我发现其中一个不起作用。

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

请注意,我不想有一个失败的测试用例。否则我也可以使用假设

有没有其他方法可以记录不需要执行的许多测试,因为它们会由于另一个记录真正问题成功的测试而失败?

我的解决方案仅限于使用 junit。

编辑:
关于到目前为止的评论和答案,我更喜欢类别,因为如果有人希望执行测试,测试仍然可以执行而无需任何更改。我仍然关心的是代表问题症状的测试与真正原因的更强关联。这目前只是从症状测试到真正原因测试的 javadoc 链接。

4

1 回答 1

2

使用@Ignore,并带有一条消息:

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

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

于 2013-02-01T10:30:34.153 回答