Я использую весну в своем приложении, и я хочу написать модульные тесты для всех моих классов. Я вызываю несколько внешних веб-сервисов из своего приложения, и я хочу издеваться над ими, используя Mockito, так как я просто хочу проверить свою функциональность.Использование аннотаций Mockito с весной
Допустим, у меня есть следующий сценарий
Это мой интерфейс вебсервис
public interface MyWebService {
public String getSomeData(int id);
}
Я использую вышеуказанное обслуживание таким образом
public interface MyService {
int doSomethingElse(String str);
}
public class MyServiceImpl implements MyService {
private MyWebService myWebService;
int doSomethingElse(String str) {
.....
myWebService.getSomeData(id);
...
}
}
public interface MyService1 {
Stirng methodToBeTested();
}
public class Class1 implements MyService1{
@Resource
private MyService myService;
public Stirng methodToBeTested() {
myService.doSomethingElse("..");
}
}
Я написал тестовый UINT случай, как показано ниже. Я шпионил MyService здесь, чтобы запустить модульный тест.
public class class1Test {
@Spy
MyService myService;
@Resource
@InjectMocks
Class1 class1;
public void setUPTest() {
MockitoAnnotations.initMocks(this);
Mockito.doReturn(123).when(myService).doSomethingElse("someString");
}
@Test
public void methodToBeTestedTest() {
this.setUPTest();
...
class1.methodToBeTested();
}
}
Когда я запускаю тест, что я вижу в том, что я получаю значение из вебсервиса InstEd, что я уже в то время как гася.
Может ли кто-нибудь помочь мне с этим? (. И полезно, например, утверждать наличие или отсутствие метода транзитивных вызовов)
Смотрите также http://stackoverflow.com/questions/2457239/injecting-mockito-mocks-into-a-spring-bean – Vadzim