Невозможно имитировать поведение метода при вызове внутри класса конфигурации. ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Невозможно имитировать поведение метода при вызове внутри класса конфигурации.

Сообщение Anonymous »

В моем проекте Spring Boot у меня есть такой класс конфигурации:

Код: Выделить всё

@Configuration
@RequiredArgsConstructor // ... using Lombok
public class MyConfigClass {
private final MyService myService;

@PostContruct
void setup(){
String s = myService.aMethod();
System.out.println(s.substring(0, 2));
}
}
Теперь мне нужно протестировать некоторые функции моего проекта, и для этих тестов мне нужно смоделировать класс MyService:

Код: Выделить всё

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE)
class SomeOtherServiceTest {
@MockBean
private MyService mockMyService;

@BeforeEach
void setup() {
when(mockMyService.aMethod()).thenReturn("blablabla"); // ... using Mockito
}

@Test
void test() {
// test code
}
}
Когда я запускаю тест, я получаю исключение NullPointerException при вызове s.substring(0, 2) в моем классе конфигурации. Это означает, что на данный момент метод еще не был осмеян.
Как мне этого добиться?

Подробнее здесь: https://stackoverflow.com/questions/791 ... tion-class

Вернуться в «JAVA»