我必须使用环境接口从属性文件中获取路径。在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,则可以如下进行。
import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
class SampleMockitoTest {
@Mock
private Environment mockEnvironment;
@Test
public void sampleTest() {
//use mockEnvironment here
when(environment.getProperty("yourKey")).thenReturn("yourValue");
}
}