小编Tha*_*nga的帖子

Springboot Mockito 测试和控制器 org.springframework.context.NoSuchMessageException 中的 Autowired messageSource

我有一个带有 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)

unit-testing spring-test mockito spring-boot junit5

4
推荐指数
1
解决办法
2376
查看次数

标签 统计

junit5 ×1

mockito ×1

spring-boot ×1

spring-test ×1

unit-testing ×1