java - Mockito:我们可以使用 Mockito 模拟在测试类中使用 new 关键字调用的对象吗

标签 java spring mockito

@Component
Class A{
   public String method1(){
       ClassB bObject = new ClassB();
       bObject.makeHTTPCallAndConvertResponseToJSONString();
   }
}

Class ATest{
    @InjectMocks
    ClassA aObject;

    public String testMethod1(){
        // how to test aObject.method1();
        // I want to mock new bObject that is created
    }
}

需要模拟正在创建的 bObject。想知道这是否可能。浏览了同一主题的所有相关问题,但找不到任何问题。这是 Mockito 的限制吗?

最佳答案

您不能模拟方法本地的对象。您只能模拟类级别对象。 看看您共享的代码片段,我建议不需要对方法 method1 进行单元测试(因为它只是调用其他方法,这里不涉及条件或循环)。最好对 ClassB 的“makeHTTPCallAndConvertResponseToJSONString”方法进行单元测试

关于java - Mockito:我们可以使用 Mockito 模拟在测试类中使用 new 关键字调用的对象吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48416359/

相关文章:

java - 检查对象数组上的模拟调用

java - 通过具体(Java)示例进行乐观锁定

java - 为什么 isLockTaskPermitted 标志为假

java - 如何在 spring-kafka 中的每条 kafka 消息后提交?

java - 如何在Spring中发布对象列表?

java - @RequestMapping 在 Maven War 覆盖上的奇怪行为

Spring 集成框架中 ResponseEntity<?> 的 Junit Mockito 测试用例

java - 竞赛编程算法思维提升

java - 如何确保目录中的图像在更改后刷新?

java - Mockito (Junit) 无法迭代 JSONArray 对象