我必须使用Environment接口从属性文件中获取路径。在Junits中,我无法模拟环境接口。以下是我的代码。如果我打电话给所提到的方法,我想要随机的东西。我该怎么办?
@Mock
private Class object;
@InjectMocks
Class2 object2;
Mockito.when(object.getFilePath()).thenReturn("Random String");
答案 0 :(得分:4)
正如我在评论中所说,你不需要Mockito,你可以使用MockEnvironment
类来模拟Spring的Environment
。
您可以这样设置值:
MockEnvironment environment = new MockEnvironment();
environment.setProperty("yourKeyOne", "yourValue1");
environment.setProperty("yourKeyTwo", "yourValue2");
根据您的需要,您可以使用此环境变量。
例如,这是一个AnnotationConfigWebApplicationContext
实例:
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
context.setEnvironment(environment);
答案 1 :(得分:0)
如果您使用Mockito,可以按照以下步骤进行操作。
@RunWith(MockitoJUnitRunner.class)
class SampleMockitoTest {
@Mock
private Environment mockEnvironment;
@Test
public void sampleTest() {
//use mockEnvironment here
}
}