Я провел простой модульный тест, чтобы продемонстрировать свою проблему. У меня есть тест JUnit для SomeService, который вызывает AnotherService. Я использую Mockito для имитации вывода AnotherService
SomeService.java
Код: Выделить всё
package com.example.my;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class SomeService {
@Autowired
private AnotherService anotherService;
public void callBoom() {
System.out.print(anotherService.boom());
}
}
Код: Выделить всё
package com.example.my;
import org.springframework.stereotype.Service;
@Service
public class AnotherService {
public String boom() {
return "boom";
}
}
Код: Выделить всё
package com.example.my;
import static org.mockito.Mockito.doReturn;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.Spy;
import org.mockito.junit.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
class SomeServiceTest {
@Spy
@InjectMocks
private SomeService someService;
@Mock
private AnotherService anotherService;
@BeforeEach
void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
doReturn("BOOM!!!").when(anotherService).boom();
}
@Test
void testBoom() {
someService.callBoom();
}
}
Подробнее здесь: https://stackoverflow.com/questions/617 ... pied-beans