문제

I'm trying to use JMockit in order to mock a protected method of a class:

public class A {

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

public class B extends A {

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

I want to mock "say" method in my tests, so that every instance of B, when it invokes "say", it will get "bye" instead of "hi".

Thanks.

도움이 되었습니까?

해결책

You can simply make a MockUp of A:

new MockUp<A> () {
    @Mock protected String say() { return "bye"; }
};
System.out.println(new B().cry()); // prints waaaa bye
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top