首页 > 解决方案 > 如何模拟同一类的方法?

问题描述

在测试方法中,有相同类的方法。如何模拟同一类的方法?

一个例子如下。

我正在测试方法2。它涉及同一类中的method1。如何模拟这个方法1?

public class A
{
  public void method1(int a, int b){

  }

  public void method2(){

      int value = method1(10,20);
  }
}

标签: unit-testingmockitopowermockito

解决方案


您可以使用Spy来执行此操作,并结合使用doReturn您要为其提供预设行为的方法。有很多关于如何使用间谍的示例。查看这些教程和文档:

例子:

   List list = new LinkedList();
   List spy = spy(list);

   //Use doReturn to change the behavior of a method call
   doReturn("foo").when(spy).get(0);

推荐阅读