Ниже приводится приложение MyService:
@AllArgsConstructor
public class MyService {
@NonNull private final MyService1 myService1;
//rest of code
}
Я указал @AllArgsConstructor. Когда я пытаюсь написать модульные тесты для класса выше, это терпит неудачу. Вот как я пишу модульный тест:
@RunWith(Mockito.JUnitRunner.class)
public MyServiceTest {
@Mock
private MyService1 myService1;
private MyService myService;
@Before
public void setUp() {
myService = new MyService(myService1);
//rest of code
}
}
Выдается ошибка:
java: constructor MyService in class cannot be applied to given types; required: no arguments found: reason: actual and formal argument lists differ in length
Но когда я явно определяю конструктор в MyService, тесты проходят. Кто-нибудь может мне здесь помочь?
Включена обработка аннотаций. Оказалось, что я использовал Lombok 1.16.x с IntelliJ 2020.3. поэтому я обновил Lombok до версии 1.18.x, и теперь все работает нормально.
Очевидно, что обработка аннотаций Lombok не включена. Как вы запускаете свой тест / какой инструмент сборки вы используете? В случае IntelliJ: установлен ли флажок «Разрешить обработку аннотаций»?