JMock ожидания от одного различия

Есть ли разница в использовании one() или oneOf() в JMock?
Шпаргалка говорит, что:
oneOf = Вызов ожидается только один раз.
точно (n).of = Вызов ожидается ровно n раз. Примечание: одно удобное сокращение точно (1).

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

oneOf (calculator).add(1, 1); will(returnValue(2));
oneOf (calculator).add(2, 2); will(returnValue(5));

Что, вероятно, говорит, что oneOf означает, что я ожидаю, что может быть больше вызовов метода add, и в этом случае есть два вызова (один из них с параметрами 1 и 1, а второй с параметрами 2 и 2).
Но ровно один (точно) (1). Точно может означать, что в одном тестовом методе я ОЖИДАЮ ТОЛЬКО ОДИН вызов этого метода.
Может быть, это просто мое неправильное понимание определения.

1 ответ

Решение

Там нет различий. oneOf(mockObject) это просто псевдоним для exactly(1).of(mockObject),

Взгляните на исходный код AbstractExpectations.java

Другие вопросы по тегам