Почему я выбираю родинки как мою структуру издевательства?

StackOverflow https://stackoverflow.com/questions/3034775

Вопрос

Я смотрел на несколько издевающихся каркасов для ASP.NET и столкнулся с Microsoft Molles. Это, кажется, является частью исследовательской группы Microsoft и была задавалась вопросом, если кто-то здесь выбрал роуты по сравнению с другими созревающими структурами издевательства, таких как MOQ.

Это было полезно?

Решение

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

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

Другие советы

Родинки были разработаны для эффективной работы с анализом белого ящика PEX. Все остальные издевательства, обычно несут много накладных расходов.

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

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

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

Молью чаще всего сравниваются / противопоставляют Tymock в том, что он предлагает набор объектов за пределами сладкого места MOQ и / или Rhinomocks.

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

Посмотри на Это Dimecasts.net Video. Для хорошего обзора.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top