是否可以将Junit Ignore注释设置为特定平台或环境?

时间:2013-05-24 18:43:54

标签: junit

是否有一种标准方法可以忽略仅针对一个平台或环境的测试?

我有一个跨平台构建,它有一些junit测试,我只想在特定平台上忽略。我想我可以通过几种不同的方式对测试进行条件化:

  • 使用类别禁用特定平台的测试(例如NOT_SOLARIS)
  • 修改忽略注释和TestMethod以添加忽略

    的平台选项

    @Ignore(“IssueTracker-ID”,Ignore.PlatformSOLARIS)

如果我选择第二个选项,我将需要更改我的本地fork的junit(这不是问题,因为我已经使用了修改版本)。我可以更改忽略注释以支持平台密钥,然后更改TestMethod.isIgnored以对密钥执行操作。

是否有标准的Junit方式来处理这种情况?

由于

彼得

1 个答案:

答案 0 :(得分:0)

您始终可以使用Assume。例如:

public void testWindows() {
  assumeTrue(platform != SOLARIS)
}