【问题标题】:JMock Expectations, iterating through ListJMock 期望,遍历列表
【发布时间】:2015-02-22 01:13:45
【问题描述】:

我有一个字符串列表:

final List<String> serialNumbers=new ArrayList<String>();

for(int i=0;i<numberOfPieces;i++){
     serialNumbers.add(Integer.toString(i));
}

现在我希望我的 MockObject 在每次调用 mock 方法时将 List 中的下一个元素作为字符串返回,我该怎么做?

context.checking(new Expectations(){{
     exactly(numberOfPieces).of (myMock).getSerialNumber();
     // will return serialNumbers i-th element
}});

【问题讨论】:

    标签: java unit-testing mocking tdd jmock


    【解决方案1】:

    解决方案:使用onConsecutiveCalls,因为它可以采取一系列操作。

    final ReturnValueAction[] serialNumbers=new ReturnValueAction[numberOfPieces];
    
    for(int i=0;i<numberOfPieces;i++){
         serialNumbers[i]=new ReturnValueAction(Integer.toString(i)); 
    }
    
    context.checking(new Expectations(){{
         exactly(numberOfPieces).of (myMock).getSerialNumber();
         will(onConsecutiveCalls(serialNumbers)); 
    }});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多