You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

单元测试中Mock Bean覆盖真实Bean导致无法分别测试控制器与服务的问题咨询

单元测试中Mock Bean覆盖真实Bean导致无法分别测试控制器与服务的问题咨询

TL;DR:我想在各自的单元测试类里,分别测试调用了服务的控制器方法,以及被调用的服务本身,但现在因为Mock Bean会覆盖真实的Bean实例,导致我没法顺利完成这两个测试。


我有一个在控制器中依赖使用的服务,控制器的代码如下:

public class SomeController {    
    @PostMapping("/load")    
    public ResponseEntity<String> someMethod(@RequestParam("val") String val) {        
        String lifeStatus = someService.someServiceMethod(val);
        // 这里省略控制器后续的处理逻辑
        return ResponseEntity.ok(lifeStatus);
    }
}

我现在遇到的问题是:在写控制器的单元测试时,为了专注测试控制器的逻辑,我通常会Mock掉someService;但当我去编写someService自身的单元测试时,发现Mock的Bean替换了真实的服务Bean,导致我没法正常测试服务的真实业务逻辑,不知道该怎么解决这个冲突。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 13:25:31