Junit Test (Mockito, PowerMock) a class with void method and private value

Viewed 5545

some sample code like: (I just added some more details)

 public class A {
      @Autowired
      private Data data;

      @RequestMapping(value="/Boo", method = RequestMethod.GET)
      public void Boo(){        
        data.someMethod();       
  } 
}

I want to test the someMethod() is run or not.

I have tried @First answer but got some error message like below:

java.lang.AbstractMethodError: org.powermock.api.mockito.internal.exceptions.StackTraceCleanerProvider$1.isIn(Ljava/lang/StackTraceElement;)Z
    at org.mockito.internal.exceptions.stacktrace.StackTraceFilter.filter(StackTraceFilter.java:33)
    at org.mockito.internal.exceptions.stacktrace.ConditionalStackTraceFilter.filter(ConditionalStackTraceFilter.java:23)
    at org.mockito.exceptions.base.MockitoException.filterStackTrace(MockitoException.java:44)
1 Answers
@RunWith(MockitoJUnitRunner.class)
public class ATest {

    @InjectMocks
    private A a;

    @Spy
    private Data data;

    @Test
    public void test() {
        // execute
        this.a.Boo();

        // verify
        Mockito.verify(this.data).someMethod();
    }

}
Related