проблемы со шпионами - PullRequest
0 голосов
/ 10 апреля 2020

Я частично высмеиваю сервисный уровень, чтобы получить желаемый результат для одного из методов, и я хочу оставить остальные методы сервисного уровня нетронутыми, то есть я хочу, чтобы реальные методы вызывались. Моя дилемма заключается в том, что мне нужно установить DAO для смоделированной службы из реальной службы, потому что при вызове немодированных методов дао равно null. это работает, но так ли это правильно?

 public class Service
 {
    @Autowired
    Dao dao;
    ....
  public int getSomething(){
  return 2;
 }
 }
@Category(IntegrationTest.class)
@RunWith(SpringRunner.class)
public class Test{

  @Autowired
  Service realService;

  @Test
  public void testMethod(){

   Service mockedService = Mockito.spy(Service.class)
     mockedservice.setDAO(realService.getDAO());// this is the 
     //part i am not sure of 
    Mockito.when(mockedservice.getSomething()).thenReturn(43);

   Assert.assertEquals(43, mockedService.getSomething());

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...