Dependency Inversion Principle говорит, что конкретика должна зависеть от абстракций. Код, написанный в соответствие с этим принципом нельзя просто взять и протестировать. Нужно сначала создать тестовые реализации этих абстракций. И в этой ситуации прекрасно подойдут моки — поддельные реализации интерфейсов для тестов.
Пройдя блок, ты:
- научишься использовать моки в тестировании
- узнаешь как выглядит паттерн AAA в тестах с моками
Все это на примере библиотеки моков FakeItEasy.
Понадобится знание C#
Рекомендуется пройти блоки Тестирование и Dependency Injection Container
Посмотри видеолекцию Mock-библиотеки (~15 мин.)
~ 3 часа
- Спецзадание No Mocks
Найди в своем проекте тесты, активно использующие какую-либо Mock-библиотеку. Подумай как можно было бы написать эти тесты без mock-ов? В каких случаях mock-и необходимы?
- Mocks Aren't Stubs - статья от Боба Мартина о том, как увлечение "поведенческим тестированием" и моками влияет на стиль кода