Junit Test(Mockito,PowerMock)一个带有void方法和私有值的类

问题描述 投票:0回答:1

一些示例代码,例如:

 public class A {

      private Data data;

      public void Boo(){        
        data.someMethod();       
  } 
}

我想测试someMethod()是否运行。

我尝试了@First答案,但收到了如下错误消息:

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)
junit mockito powermock
1个回答
0
投票
@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();
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.