Дразнить чайников? - PullRequest
       26

Дразнить чайников?

15 голосов
/ 25 ноября 2008

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

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

Спасибо,

Ray.

Ответы [ 5 ]

9 голосов
/ 25 ноября 2008

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

Введение в Moq

Введение в RhinoMocks

4 голосов
/ 25 ноября 2008

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

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

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

3 голосов
/ 25 ноября 2008

TypeMock? ...

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

3 голосов
/ 25 ноября 2008

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

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

1 голос
/ 21 мая 2009

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

...