Почему я выбрал бы Родинки как свою платформу насмешки?

Я смотрел на несколько платформ Насмешки для ASP.NET и столкнулся с Microsoft Moles. Это, кажется, часть Исследовательской группы Microsoft и задавалось вопросом, Выбрал ли кто-либо здесь Родинки по другим зрелым платформам Насмешки, таким как Moq.

9
задан user300981 15 June 2010 в 02:45
поделиться

3 ответа

На самом деле я использую Moq и Moles в одном тестовом проекте. У обоих есть сильные стороны, и я использую их там, где это необходимо. Как правило, я использую Moq для стандартного типа AAA-тестирования с проверкой, а Moles - это «большая пушка» для вещей, которые иначе невозможно избежать, таких как вызовы методов расширения и т. Д.

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

15
ответ дан 4 December 2019 в 09:12
поделиться

Moles чаще сравнивают / противопоставляют TypeMock в том смысле, что он предлагает набор возможностей, выходящих за рамки оптимального использования Moq и / или RhinoMocks.

Главный вопрос, который вы должны задать себе при выборе, - хотите ли вы, чтобы ваше тестирование оставалось относительно нетехнологичным, или же вовлекаться в технические уловки более высокого уровня. Это во многом будет продиктовано тем, что вы делаете - вы отметили ASP.NET, а не MVC, что говорит о том, что это действительно может быть актуально для вас.

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

3
ответ дан 4 December 2019 в 09:12
поделиться

Moles был разработан для эффективной работы с анализом белого ящика Pex. Все остальные макеты фреймворков обычно связаны с большими накладными расходами.

Moles предлагает простое ценностное предложение: заменить любой метод .NET делегатом. По дизайну Moles не предоставляет API для выражения «верификации», как это делают другие фреймворки. Вам действительно решать, подходит вам это решение или нет.

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

Если у вас есть интерфейсы и хорошо разбитый на компоненты код, Moles также генерирует тонкие заглушки, то есть реализацию интерфейса, которые вы можете использовать с профилировщиком.

5
ответ дан 4 December 2019 в 09:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: