Каковы различия между MOQ и AutoFixture? - PullRequest
11 голосов
/ 26 апреля 2011

У меня довольно много опыта использования MOQ, хотя я недавно наткнулся на AutoFixture.Каковы различия между этими структурами?

1 Ответ

14 голосов
/ 26 апреля 2011

FAQ объясняет разницу. Короче

AutoFixture использует Reflection для создания «хорошо управляемых» экземпляров открытых типов. Он автоматически генерирует экземпляры других типов, если необходимо заполнить аргументы для конструктора, а также присваивает значения общедоступным доступным для записи свойствам. По сути, он просто использует открытый API запрашиваемого типа для его создания и заполнения. Он не делает ничего, что вы, как разработчик, не можете сделать вручную, он просто делает это автоматически.

Напротив, большинство библиотек Dynamic Mock являются производными от известных типов для переопределения поведения виртуальных членов. Их целью является проверка поведения тестируемой системы (SUT).

Вы можете объединить AutoFixture с Moq, чтобы превратить его в контейнер для автоматической блокировки .

...