代码之家  ›  专栏  ›  技术社区  ›  samanime

Mockito-准确验证所有参数

  •  1
  • samanime  · 技术社区  · 7 年前

    如何验证对具有不同参数的方法的多个调用,以及是否未提供其他参数?

    我知道我可以测试这样的多个参数:

    @Spy
    SomeClass someClass
    
    @Test
    public void test() {
      someClass.triggerSomething();
    
      verify(someClass, times(1)).someMethod(1, 1);
      verify(someClass, times(1)).someMethod(2, 2);
      verify(someClass, times(1)).someMethod(3, 3);
      verify(someClass, times(1)).someMethod(4, 4);
      verify(someClass, times(1)).someMethod(5, 5);
    }
    

    如何验证我没有使用任何其他参数组合调用它?

    1 回复  |  直到 7 年前
        1
  •  6
  •   Andy Turner    7 年前

    使用 verifyNoMoreInteractions(someClass) .

    检查是否有任何给定的模拟具有任何未经验证的交互。

    您可以在验证模拟后使用此方法,以确保没有在模拟上调用任何其他内容。