如何模拟环境接口

abh*_*ney 2 java testing junit mockito

我必须使用 Environment 接口从属性文件中获取路径。在 Junits 中,我无法模拟环境接口。下面是我的代码。如果我调用提到的方法,我想要一些随机的东西。我该怎么做?

@Mock
    private Class object;
 @InjectMocks
    Class2 object2;

Mockito.when(object.getFilePath()).thenReturn("Random String");
Run Code Online (Sandbox Code Playgroud)

dav*_*xxx 5

正如我在评论中所说,您不需要 Mockito,您可以使用MockEnvironmentclass 来模拟EnvironmentSpring。
您可以通过这种方式设置值:

    MockEnvironment environment = new MockEnvironment();
    environment.setProperty("yourKeyOne", "yourValue1");
    environment.setProperty("yourKeyTwo", "yourValue2");
Run Code Online (Sandbox Code Playgroud)

并且根据您的需要,您可以使用这个环境变量。例如,这里有一个AnnotationConfigWebApplicationContext实例:

    AnnotationConfigWebApplicationContext context = new  AnnotationConfigWebApplicationContext();
    context.setEnvironment(environment);
Run Code Online (Sandbox Code Playgroud)