JMockit:如何模拟受保护的方法?

时间:2013-08-13 13:35:51

标签: java mocking jmockit

我正在尝试使用JMockit来模拟类的受保护方法:

public class A {

    protected String say() {
         return "hi";
    }
}

public class B extends A {

     public String cry() {
          return "waaaa " + say();
     }
}

我想在我的测试中模拟“说”方法,以便B的每个实例,当它调用“说”时,它将获得“再见”而不是“hi”。

感谢。

1 个答案:

答案 0 :(得分:4)

你可以简单地制作一个A:MockUp:

new MockUp<A> () {
    @Mock protected String say() { return "bye"; }
};
System.out.println(new B().cry()); // prints waaaa bye