我想模拟System.getenv()方法。我只找到了JUnit4和PowerMockito的解决方案。我使用了以下依赖项:
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>2.23.0</version>
<scope>test</scope>
</dependency>
下面是我的测试示例:
@ExtendWith(MockitoExtension.class)
public class TestEnvVariable {
@Mock
System system;
@Test
public void shouldExpandPropertyContentToMatchingSysEnv() throws Exception {
when(system.getenv("KEY")).thenReturn("VALUE");
assertEquals("VALUE", "KEY");
}
}
如何用JUnit5模拟System.getenv()?
2条答案
按热度按时间z8dt9xmd1#
我认为你可以在junit4使用
EnviromentVariableRule
。看看这个链接:https://www.baeldung.com/java-system-stubs#2-junit-4-environment-variables
qzwqbdag2#
模拟
System
似乎是不可能的。请参见here系统存根也可能是JUnit5的一个很好的替代方案