0

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

public class A {

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

public class B extends A {

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

我想在我的测试中模拟“say”方法,以便 B 的每个实例在调用“say”时都会得到“bye”而不是“hi”。

谢谢。

4

1 回答 1

4

您可以简单地制作 A 的 MockUp:

new MockUp<A> () {
    @Mock protected String say() { return "bye"; }
};
System.out.println(new B().cry()); // prints waaaa bye
于 2013-08-13T13:41:24.290 回答