首页 > 解决方案 > Mockito 静态方法验证 InOrder

问题描述

我正在尝试验证 InOrder 类中存在的静态方法。下面是具有一些静态方法的示例类

public class SampleClass {
  public static void staticMethod1(Param1 param)
  {
     //doSomething
  }
  public static void staticMethod2(Param2 param)
  {
     //doSomething
  }
  public static void staticMethod2(Param3 param)
  {
     //doSomething
  }
}

public class parent{
  public void method() {
    SampleClass.staticMethod1(...);
    SampleClass.staticMethod2(...);
    SampleClass.staticMethod3(...);
  }
}

我的测试看起来像这样

@Test
public void test(){
  try (MockedStatic<SamplClass > mockSamplClass = mockStatic(SamplClass .class, Answers.CALLS_REAL_METHODS))
  {
    //doStuff
    mockSampleClass.verify(()->SampleClass.staticMethod1(...));
    mockSampleClass.verify(()->SampleClass.staticMethod2(...));
    mockSampleClass.verify(()->SampleClass.staticMethod3(...));
  }
}

有没有办法对这三个静态方法进行 InOrder 验证?由于 Mockito.inOrder 只接受模拟类型而不接受 MockedStatic 类型。

现在我有点在 Mockito 中寻找不涉及 PowerMockito 的答案。

标签: javajunitmockito

解决方案


推荐阅读