[英]Use of Mocking with Spring
我在 Spring 和 mockito 中使用 junit。当我们使用 Spring 时,我们必须加载 spring 配置文件。但是通过这样做,我们获得了所有真实对象。mockito 在这种情况下扮演什么角色?
如果我在使用 mockito 的测试用例中使用这个 @ContextConfiguration(locations = {"classpath:/application-context.xml"}) ,我将从 applicationContext.xml 获取对象,这些对象将是真实的对象。
如何在这里使用 mockito
您不必使用 Spring 对代码进行单元测试。 您可以使用 Mockito @InjectMocks
将依赖项注入被测类中。
如果您想使用 Spring 进行单元测试,您可以使用 Spring 中的@ContextConfiguration
注释,并在适当的情况下使用@ContextConfiguration
在测试本身中定义配置。 例如:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
@TestPropertySource(locations = "classpath:test.properties")
public class SimpleServiceTest {
@Autowired
private SimpleService simpleService;
@Test
public void testMethod(){
....
simpleService.testMethod();
....
}
@Configuration
public static class Config {
@Bean
public SimpleService getSimpleService() {
return new SimpleService();
}
@Bean
public MockedService getMockedService() {
return Mockito.mock(MockedService.class);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.