在单元测试中,您可以更改属性的值:
System.setProperty("os.name", "Linux")然后,您可以测试/调用您的
systemIsWindows()方法以使用断言检查其返回的内容。
为了更容易设置System属性并在测试完成时取消设置该属性(从而促进测试隔离,自我约束),可以使用以下两个JUnit附加组件:
- JUnit4:JUnit系统规则
- JUnit5:JUnit扩展
例如:
@Test@SystemProperty(name = "os.name", value = "Windows")public void aTest() { assertThat(systemIsWindows(), is(true));}@Test@SystemProperty(name = "os.name", value = "MacOs")public void aTest() { assertThat(systemIsWindows(), is(false));}


