Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 仅在Linux上运行JUnit测试_Java_Junit - Fatal编程技术网

Java 仅在Linux上运行JUnit测试

Java 仅在Linux上运行JUnit测试,java,junit,Java,Junit,我有一个基本的JUnit测试,我只想在Linux上运行。如果我在Windows上构建代码,如何跳过测试 例如,我可以从Java获取操作系统平台吗?System.getProperty(“OS.name”)将为您提供操作系统的名称。如果操作系统是Windows,则可以使用该类跳过测试: @Test public void testSomething() { Assume.assumeFalse (System.getProperty("os.name").toLowerCa

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


例如,我可以从Java获取操作系统平台吗?

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

@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
}

“我可以从Java获得操作系统平台吗?”在提问之前做一些研究怎么样?请参见“搜索、研究……并跟踪您发现的内容。即使你在网站的其他地方找不到有用的答案,包括没有帮助的相关问题的链接,也可以帮助其他人理解你的问题与其他问题的不同之处。“解释您是如何遇到您试图解决的问题的,以及阻止您自己解决问题的任何困难。”这不应标记为重复。它是询问如何确定操作系统平台跳过JUnit测试