Издевается над пустышками?

Я новичок в насмешках, у меня есть новый веб-проект .net, который находится в структуре UI- > BLL- > DAL- > DB. Я использую NUnit для выполнения некоторых тестов в настоящее время. Я намерен использовать его для тестирования среднего уровня, поэтому мне не нужно писать в БД.

Теперь я никогда не делал насмешек, не совсем знаю, с чего начать, поэтому я ищу фальшивую фреймворк, в которой есть примеры от конца до конца! Может ли кто-нибудь указать мне какой-то насмешливый материал, который начинается с самого начала и с полным образцом, пожалуйста?

Спасибо,

Ray.

Ответы

Ответ 1

Вы должны проверить некоторые видеоролики насчет насмешек над Dimecasts.net, это быстрый способ узнать, что насмехается и начать с вашего собственного кода.

Введение в Moq

Введение в RhinoMocks

Ответ 2

В настоящее время существует несколько различных насмешливых фреймворков. Я бы рекомендовал вам взглянуть на RhinoMock или TypeMock. Оба являются бесплатными для личных/открытых проектов. У TypeMock также есть корпоративная лицензия.

RhinoMock заставляет вас реорганизовать свой код для проверки (при необходимости, если у вас уже есть тестируемый код, который вы делаете хорошо). Это требует больше работы, но это оставит вас с кодом, который слабо связан, что само по себе является благом. Из-за этого есть определенные конструкции, которые вы просто не можете высмеять напрямую с Rhino. Тем не менее, вы всегда можете ввести дополнительные слои косвенности и решить ее таким образом. Однако нижняя линия заключается в следующем: вам нужно сделать еще немного работы, но в конечном итоге рефакторинг поможет вашему коду.

TypeMock с другой стороны работает, изменяя код "на лету" (он использует API-интерфейс профилировщика для ввода кода). Это позволяет использовать насмешку над кодом, который не подходит для этого типа тестирования. TypeMock в значительной степени позволит вам издеваться над чем-либо (кроме mscorlib), поэтому его легко начать, и он хорошо работает с устаревшим кодом. Однако, поскольку вы не вынуждены реорганизовывать свой код, вы не получаете дополнительного преимущества слабо связанных типов. Кроме того, TypeMock иногда приводит к очень странным ошибкам из-за того, что текущий код изменен.

Ответ 3

Rhino Mocks - это один фрейм, который вы могли бы использовать, который я использовал немного.

Шпаргалка содержит несколько ссылок, если вы хотите попробовать некоторые другие, хотя статья немного устарела.

Ответ 4

TypeMock?...

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

Ответ 5

Возможно, вас заинтересовала наша книга http://www.mockobjects.com/book. Это Java, но принципы одинаковы.