仅在Linux上运行JUnit测试

Pet*_*zov 4 java junit

我有一个基本的JUnit测试,我只想在Linux上运行.如果我在Windows上构建代码,我如何跳过测试?

例如,我可以从Java获得OS平台吗?

Mur*_*nik 6

System.getProperty("os.name")将为您提供操作系统的名称.Assume如果操作系统是Windows,则可以使用该类跳过测试:

@Test
public void testSomething() {
    Assume.assumeFalse
        (System.getProperty("os.name").toLowerCase().startsWith("win"));
    // test logic
}
Run Code Online (Sandbox Code Playgroud)

编辑:
现代JUnit Jupiter具有内置功能,带有@EnableOnOs@DisableOnOs注释:

@Test
@EnabledOnOs(LINUX)
public void testSomething() {
    // test logic
}
Run Code Online (Sandbox Code Playgroud)