我必须使用Environment接口从属性文件中获取路径。在Junits中,我无法模拟环境接口。以下是我的代码。如果我打电话给我提到的方法,我想要随机的东西。我该怎么做?如何模拟环境接口
@Mock
private Class object;
@InjectMocks
Class2 object2;
Mockito.when(object.getFilePath()).thenReturn("Random String");
我必须使用Environment接口从属性文件中获取路径。在Junits中,我无法模拟环境接口。以下是我的代码。如果我打电话给我提到的方法,我想要随机的东西。我该怎么做?如何模拟环境接口
@Mock
private Class object;
@InjectMocks
Class2 object2;
Mockito.when(object.getFilePath()).thenReturn("Random String");
至于说在我的意见,你不需要的Mockito,你可以使用MockEnvironment
类从春天嘲笑Environment
。
你可以这样设置值:
MockEnvironment environment = new MockEnvironment();
environment.setProperty("yourKeyOne", "yourValue1");
environment.setProperty("yourKeyTwo", "yourValue2");
并根据您的需求,您可以使用此环境变量。 例如,这里是与AnnotationConfigWebApplicationContext
实例:
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
context.setEnvironment(environment);
如果您正在使用的Mockito,你可以如下做到这一点。
@RunWith(MockitoJUnitRunner.class)
class SampleMockitoTest {
@Mock
private Environment mockEnvironment;
@Test
public void sampleTest() {
//use mockEnvironment here
}
}
环境接口是您自己的接口还是来自lib的接口? – davidxxx
它是框架接口... org.springframework.core.env.Environment; @davidxxx –
你可以使用Spring中的MockEnvironment – davidxxx