我有一个在我们的构建机器上运行的junit集成测试,并调用外部服务器。我们使用门控构建 - 所以代码不会进入主分支,除非我们100%的测试通过
有时,外部服务器会停机一段时间,测试失败,但是我可以捕获一个明确的异常。我真的不希望测试失败,因此阻止代码进入 - 但我也希望它没有被标记为“通过”。所以我想把它标记为警告,忽略或不确定的结果。这将是理想的:
@Test
public void someTest()
{
try
{
do whatever
}
catch (ServerDownException theException)
{
junit.markThisTestAsIgnored(); <---- something like this
}
}
答案 0 :(得分:0)
throw new AssumptionViolationException( "skipping test because xxx is down");
答案 1 :(得分:0)
一个选项是设置类别(例如压力类别)。
点击此链接:
https://github.com/junit-team/junit4/wiki/categories
如果需要,可以使用@Ignore规则:
https://dzone.com/articles/allowing-junit-tests-pass-test
此致