Частичное издевательство над JMockit для каждого элемента в коллекции

Я использую JMockit 1.10 и вам нужно частично измотать метод для каждого элемента в коллекции.

Я могу это сделать, если я передаю их отдельно новому NonStrictExpectation, например

final Object obj1 = objs.get(0);
final Object obj2 = objs.get(1);
new NonStrictExpectations(obj1, obj2) {{
 ...
}};

Однако он жалуется, что "класс уже издевается", если я передам их в цикле.

for (int i = 0; i < 2; i++) {
 final Object _obj = objs.get(i);
 new NonStrictExpectations(_obj) {{
 }};
}

Могу я узнать почему? Или что это правильный способ сделать это?

1 ответ

Я думаю, что без лишних сведений о том, чего вы пытаетесь достичь, я считаю, что правильное решение состоит в том, чтобы частично издеваться над классом элементов в коллекции, поэтому высмеивая все такие экземпляры. Кроме того, блоки ожидания не должны создаваться в цикле; существуют другие способы борьбы с несколькими вызовами одного и того же метода.

licensed under cc by-sa 3.0 with attribution.