@AllArgsConstructor не работает при инициализации объекта

Ниже приводится приложение 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 не включена. Как вы запускаете свой тест / какой инструмент сборки вы используете? В случае IntelliJ: установлен ли флажок «Разрешить обработку аннотаций»?

Lesiak 30.03.2021 17:44

Включена обработка аннотаций. Оказалось, что я использовал Lombok 1.16.x с IntelliJ 2020.3. поэтому я обновил Lombok до версии 1.18.x, и теперь все работает нормально.

mightyMouse 30.03.2021 18:09
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
50
0

Другие вопросы по теме