Я совсем новичок в модульном тестировании. Я прочитал здесь, а также немного погуглил, но все еще немного сбит с толку относительно значения каждого из четырех значений. Я наткнулся на следующее определение, которое помогает ....
Заглушка - заглушки - это минимальные реализации интерфейсов или базовых классов
Шпион - шпион будет записывать, какие участники были вызваны
Подделка - более сложная, подделка может напоминать производственную реализацию
Макет - Макет обычно динамически создается фиктивной библиотекой, и в зависимости от его конфигурации макет может вести себя как манекен, заглушка или шпион
Однако я хотел бы упростить значение (если возможно) и задать несколько вопросов.
- Все вышеперечисленное относится только к функциям или они могут быть объектами или любым другим типом?
- Stub - Является ли Stubbing главным образом способом предоставления фиктивной информации вместо вызова реальной базы данных? Так, например, если у меня был вызов API, вместо того, чтобы фактически сделать вызов API, я просто вместо этого выполняю запрос GET к файлу JSON, который находится в моей папке tests , в которой есть некоторые фиктивные данные. и использовать это вместо вызова API?
- Spy - так это способ отслеживания того, что происходит с функцией, например. Значит, вы следуете, когда его зовут, куда его передают?
- Fake - Это, например, функция, которую вы создаете внутри тестового файла, чтобы имитировать реальную функцию или быть упрощенной версией реальной функции?
Заранее спасибо.