У меня есть класс контроллера Rest, как показано ниже
@RestController
public class MyController {
@Autowired
private MYHelper myHelper;
@Autowired
@Qualifier("environmentMessageSource")
protected ReloadableResourceBundleMessageSource environmentMessageSource;
@PostMapping(value = {
employees
})
public @ResponseBody Map < String, Object > getEmployees(@RequestBody MyVO myvo) throws Exception {
Map < String, Object > responseMap = new HashMap < > ();
try {
responseMap = oeHelper.getDataService(environmentMessageSource.getMessage("MYPROP", null, null), myvo);
} catch (Exception e) {
}
return responseMap;
}
}
Я пытаюсь написать контрольный пример для моего контроллера. и его сбой в ReloadableResourceBundleMessageSource
@RunWith(MockitoJUnitRunner.class)
public class MyControllerTest {
private MockMvc mockMvc;
@Mock
private OEHelper myHelper;
@InjectMocks
private MyController myController;
@Mock
protected ReloadableResourceBundleMessageSource environmentMessageSource;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
mockMvc = MockMvcBuilders
.standaloneSetup(myController)
.build();
environmentMessageSource.setCacheSeconds(0);
}
@Test
public void testgetESIDAndCalendarDates() throws Exception {
Map < String, Object > responseMap = new HashMap < > ();
MyVO myVO = new MyVO();
Mockito.when(messageSource.getMessage(Mockito.anyString(), Mockito.any(Object[].class), Mockito.any(Locale.class)))
.thenReturn("");
Mockito
.when(myHelper.getResponseFromService(Mockito.any(), Mockito.any(myVO.class)))
.thenReturn(responseMap);
mockMvc.perform(post("/employees")
.contentType(MediaType.APPLICATION_JSON)
.content(asJsonString(myVO))
)
.andExpect(MockMvcResultMatchers.status().isOk());
}
}
По его словам, он не может найти ключ MYPROP в файл environmentproperties для языкового стандарта null
org.springframework.context.NoSuchMessageException: сообщение отсутствует находится под кодом 'MYPROP' для локали 'null'.