Как вы поняли из названия, речь пойдет о продукте от Microsoft Research – Microsoft Moles Isolation Framework. Я познакомился с ним впервые после прочтения поста хабраюзера alek_sys. Моль мне настолько понравилась, что я решил поделиться своим опытом её использования.
Для начала попробуем определиться, для каких целей предназначена Microsoft.Moles и чего мы можем с ней добиться:
Зачем?
Для начала попробуем определиться, для каких целей предназначена Microsoft.Moles и чего мы можем с ней добиться:
- Полная изоляция тестируемой логики от внешнего окружения.
- Возможность быстрого и просто создания юнит-тестов, при чём тестирование логики класса становится возможным даже при отсутсвии реализации классов, пользователем которых является тестируемый класс.
- Становится просто организовать наборы тестовых данных или моделировать состояние связанных обьектов для создания тестовых условий
- В разы сокращается время выполнения юнит-тестов, становится реальным частый запуск тестов
- Нарушение логики юнита не влечет за собой падение сотни-другой не предназначенных для его тестирования тестов
- Удобное тестирование методов со сложным workflow