Макет Сервиса в Сервис с Мокито и JUNIT и CDI - PullRequest
0 голосов
/ 03 июня 2019

у меня есть 3 услуги

class Service1{
    @Inject private Service2 service2;

}
 class Service2{
    @Inject private Service3 service3;

}
class Service3{

 public Object test(){
 ...}

}

 class TestService1{
    //do a test and mock the methode in service3 
   when(service3.test()).doReturn(Something());


}

Мне нужно смоделировать метод в сервисе 3, введенный в сервис 2, который введен в сервис 1, есть идеи?я должен проверить это прямо так, у меня нет другого способа сделать это.

1 Ответ

0 голосов
/ 06 июня 2019

Поскольку последняя служба является вызовом службы покоя, я создал интерфейс IServiceC, затем 2 его реализации, одна в основной / src / java, другая в test / src / java и все службы возвращают жестко закодированные значения. потому что сложность здесь заключается в том, чтобы сказать «хорошо», я добавлю все службы, но не последний, и скажу второму слою, что я внедряю вас, но я тоже издеваюсь над вами и т. д. *

слишком сложный для управления, с фиктивной реализацией класса, мне не нужно беспокоиться об этой теме, я использую arquillian, и все будет введено (я исключаю из пакета war реализацию по умолчанию и добавляю реализацию mock в война)

...