【发布时间】:2017-01-05 13:16:37
【问题描述】:
我想用Junit + Mockito.为spring框架的服务层编写测试用例
如何使用我的ServiceTest 类调用实际的服务层方法,如果我模拟ServiceTest 类,那么它的对象将不会执行实际的服务方法代码,因为它不会让对象调用它的方法,如果我尝试间谍仍然无法正常工作,@ 987654321@
我仍然无法执行测试用例。
MyService.java
@Service
public class MyService{
@Autowired
Utility utility;
public String showResult(){
String result = utility.getName();
return result;
}
}
MyServiceTest.java
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader=AnnotationConfigWebContextLoader.class)
@WebAppConfiguration
public class MyServiceTest {
@Autowired
MyService myService;
@Autowired
Utility utility;
@Test
public void testShowResult() throws Exception {
assertEquals("Test",myService.showResult());
}
@Configuration
static class MykServiceTestContextConfiguration {
@Bean
public MyService myService() {
return new MyService();
}
@Bean
public Utility utility() {
return Mockito.mock(Utility.class);
}
}
}
【问题讨论】:
-
MyService 和 Utility 类中缺少 @Component
标签: java spring unit-testing junit mockito