Допустим, у меня есть метод:
someMethod(X anObject)
Где X — тип объекта, который чрезвычайно сложен. Под этим я подразумеваю, что это не то, что можно легко создать на лету. Мне нужно как-то модульно протестировать какой-то метод, но я не могу просто создать объект X для ввода в качестве параметров.
Итак, я сначала думаю попробовать имитировать объект, но проблема, с которой я сталкиваюсь, заключается в том, что функция someMethod вызывает множество методов anObject, что означает, что этот имитируемый объект X имеет большое количество функций, которые необходимо вызвать, и, таким образом, должно быть ложным -ожидаемым. Что еще хуже, эти вызываемые методы объекта X возвращают больше объектов X, а это означает, что я должен имитировать объекты, ожидать вызовы фиктивных методов, чтобы возвращать больше фиктивных объектов.
Относительно этого сценария у меня есть несколько вопросов, так как я новичок в концепции модульного тестирования :
Если кому-то интересно, что именно я делаю, я использую интерфейс IDebugContextListener для получения отладочной информации, касающейся данных в кадре стека на заданном шаге отладчика Java. «X», о которых я говорю, — это объекты, определенные интерфейсом здесь , включая такие объекты, как IValue, IVariable и IStackframe. Все эти переменные предоставляются мне отладчиком Java во время выполнения.