小编KKK*_*der的帖子

Mockito:如何在一个具有不同参数的模拟器上按顺序调用一个方法

我想测试一个mock的方法,使用不同的参数顺序调用:

我试着使用以下代码:

    InOrder inOrder = inOrder(myobject);
    inOrder.verify(myobject).println(any(String.class));
    inOrder.verify(myobject).println(any(String.class));
    inOrder.verify(myobject).println("");
    inOrder.verify(myobject).println("myfolder");
    inOrder.verify(myobject).println("");
    inOrder.verify(myobject).println(System.getProperty("user.home"));
Run Code Online (Sandbox Code Playgroud)

但是,这似乎不起作用,因为它给了我一个错误说

    inOrder.verify(myobject).println(any(String.class));
Run Code Online (Sandbox Code Playgroud)

已被召唤8次.这是正确的,但它无法解决订单.

我想查一下:

  The println method of `myobject` is first called with any string parameter
  Then it is called with any string parameter again
  Then it is called by an empty string
  Then it is called by string "myfolder"
  ......
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

编辑:

错误信息是:

org.mockito.exceptions.verification.VerificationInOrderFailure: 
Verification in order failure:
printWriter.println(<any>);
Wanted 1 time:
-> at com.mycompany.MyUnitTest.mytest(MyrUnitTest.java:107)
But was 8 times. 
Run Code Online (Sandbox Code Playgroud)

java mockito

5
推荐指数
1
解决办法
2300
查看次数

标签 统计

java ×1

mockito ×1