我必須使用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