Допустим, у меня есть класс MyClass с методами x()
, y()
и z()
.Скажем, x()
звонки y()
и y()
звонки z()
.
Так что каждый раз, когда я проверяю x()
, вызываются и y()
, и z()
.В случае подделки зависимостей MyClass мне придется смоделировать поведение зависимостей внутри x()
, y()
и z()
.
Так что, если мои тесты для метода x()
равны testXWhen1()
, testXWhen2()
и testXWhen3()
Мне придется повторить ожидания для моих зависимостей в каждом из методов тестирования.В конце у меня есть некоторый код с ожиданиями того, что происходит внутри y()
и z()
, повторенный для моих трех методов тестирования.Любое решение, чтобы избежать этого?
Одна из моих идей состояла в том, чтобы попытаться проверить действительный метод x()
, но насмехаться над y()
и z()
.В этом случае мой экземпляр MyClass
должен быть частично ложным, а частично реальным MyClass
.Возможно ли это?
Другое решение заключалось в том, чтобы строго соблюдать ожидания в x()
, а не в том, что происходит в y()
и z()
... Я думаю, что я могу сделать это с помощью @NonStrict
@Mocked
, но это не мое любимое решение.