У меня есть следующее в верхней части моего тестового класса: @Mock private MessageSource messageSource
Посредством отладки я могу подтвердить, что атрибут messageSource становится поддельным и не является нулевым. Контрольный пример в конечном итоге достигает этой точки:
messageSource.getMessage("DATA.IS.EMPTY", null, Locale.ENGLISH)
Я подтвердил, что у меня есть код «DATA.IS.EMPTY» в моем файле свойств сообщения со строкой сообщения. Я знаю, что файл свойств сообщения настроен правильно, потому что я видел сообщения, появляющиеся в приложении, когда оно работает. Однако в тестовом примере Junit приведенное выше getMessage возвращается как ноль. Глядя на весеннюю документацию для MessageSource, getMessage должен либо возвращать строку сообщения, либо NoSuchMessageException, никогда не равное NULL. Ожидается ли получение пустого значения для getMessage в тестовом примере Junit, поскольку MessageSource подвергается насмешке? Я не издеваюсь над MessageSource должным образом? Я знаю, что могу посмеяться над методом getMessage, чтобы он возвращал строку сообщения, но мне это не кажется правильным, потому что я подумал, что тестовый пример JUnit должен проверить, что MessageSource может найти код в файле свойств сообщения.
но это не кажется мне правильным, потому что я думал, что контрольный пример JUnit должен проверить, что MessageSource может найти код в файле свойств сообщения.
Кажется, что вам действительно нужно, это настоящая инъекция, а не насмешливый
Эта
@Autowired
private MessageSource messageSource;
Вместо
@Mock
private MessageSource messageSource;
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
я говорю два предложения