我有一个带有 REST 控制器的 Springboot 应用程序和为其编写的 Mockito 单元测试用例。问题是我在运行测试用例时通过读取 RestController 中的 messageSource 得到 NoSuchMessageException 。但实际使用 Postman 或其他 Rest 客户端调用它时不会发生。(我使用 Lombok 来避免样板代码)。
其余控制器代码
@RestController
@RequestMapping(value = VERSION + "/product")
@Slf4j
@RequiredArgsConstructor
public class ProductController implements CommonController {
private final ProductService productService;
private final MessageSource messageSource;
@PostMapping(path = "")
public ResponseEntity<CommonResponseDTO> saveProduct(@Valid @RequestBody ProductSaveRequest request) {
return addNewProduct(request);
}
private String getMessage(String key) {
return messageSource.getMessage(key, new Object[0], Locale.getDefault());
}
}
Run Code Online (Sandbox Code Playgroud)
消息源配置
@Configuration
public class AppConfig {
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource …Run Code Online (Sandbox Code Playgroud)