аннотации не работают при миграции на java 11 - PullRequest
0 голосов
/ 20 марта 2020

Могу ли я что-нибудь сделать, чтобы аннотации @Mock и @InjectMocks работали с java 11?

1 Ответ

2 голосов
/ 21 марта 2020

Не знаю, почему это работает для вас в Java7, но вы явно используете @InjectMocks неправильно.

@InjectMocks
private ByVehicleIdRequest request = new ByVehicleIdRequest(
   locale,
   additionalInfo,
   permissions,
   switches,
   vehicleId, 
   aftermarketDescriptions, 
   enhancedStringMatchingSettings);

Если вы используете Mockito runner (или расширение в JUnit5), вам не следует инициализировать поле самостоятельно:

@InjectMocks
private ByVehicleIdRequest request;

Как описано в документации MockitoJUnitRunner :

Моды инициализируются перед каждым методом тестирования.

Если вы используете фиктивные значения в поле инициализации объекта request, вы передаете в конструктор еще не инициализированные значения и, следовательно, наблюдаемые вами нулевые значения.

Примечание

Ответ относится к вопросу версии 3.

...