Начинающий модульное тестирование - тестирование сложных входных данных для методов

Я изучаю модульное тестирование и борюсь с некоторыми, вероятно, довольно простыми концепциями. Допустим, у меня есть два метода.

Метод A принимает файл в качестве входных данных и возвращает сложную иерархию объектов.

Метод B берет иерархию объектов и что-то с ней делает.

Я понимаю, как тестировать Метод A (и различные другие методы, которые он вызывает по очереди). Я не понимаю, как лучше всего протестировать метод B.

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

Мне показалось бы более логичным протестировать метод A, сохранить результат, а затем использовать его для тестирования метода B, но я понимаю, что каждый модульный тест предназначен только для проверки одной вещи.

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

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

Я пробовал это, когда делаю резервные копии, тогда даже если я закрываю шпатлевку, скрипт продолжает работать в фоновом режиме

7
задан Mahakaal 16 May 2011 в 01:52
поделиться