繁体   English   中英

仅在Linux上运行JUnit测试

[英]Run JUnit test only on Linux

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

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

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

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

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

@Test
@EnabledOnOs(LINUX)
public void testSomething() {
    // test logic
}

您还可以使用@Before绕过类中包含的所有测试:

@Before
public void beforeMethod()
{
    Assume.assumeFalse(System.getProperty("os.name").toLowerCase().startsWith("win"));
    // rest of the setup
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM