Есть ли какой-нибудь фреймворк с открытым исходным кодом, похожий на TypeMock? - PullRequest
20 голосов
/ 08 октября 2009

TypeMock слишком дорог для такого хоббиста, как я :)

Moq или следующая версия RhinoMocks не планируют слушать API профилирования, почему это так?

РЕДАКТИРОВАТЬ: Это позволяет такие функции, как:

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

Ответы [ 8 ]

11 голосов
/ 11 октября 2009

Заявитель Я работаю в Typemock.

Я постараюсь ответить на ваши вопросы:

Есть ли насмешки с открытым исходным кодом фреймворк, напоминающий TypeMock?

Единственным другим фреймворком, использующим API профилировщика, является (коммерческий) JustMock.

Moq или следующая версия RhinoMocks не планирует слушать API профилирования, почему это так?

Я думаю, что это вопрос идеологии. Ayende создатель Rhino издевается и Kzu создатель moq верит в дизайн для тестируемости и что основа для моделирования должна помочь вам в достижении этого дизайна, чтобы они не реализовали функции Isolator, даже если это было легко.

TypeMock слишком дорог для хоббист, как я

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

Надеюсь, это поможет.

11 голосов
/ 09 октября 2009

TypeMock слишком дорог для хоббист, как я

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

5 голосов
/ 08 октября 2009

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

4 голосов
/ 08 октября 2009

Moq или следующая версия RhinoMocks не планируют слушать в API профилирования, почему это так?

Потому что это очень, очень сложно и требует немного знаний C ++ ?

1 голос
/ 02 декабря 2009

Выезд http://beanproxy.codeplex.com/. Это инструмент, который я разрабатывал в течение некоторого времени. Он еще не поддерживает не виртуальные прокси (кроме абстрактных и интерфейсов) и не поддерживает живые объекты (проксирование живых объектов). Тем не менее, это бесплатно и с открытым исходным кодом. Он очень прост в использовании и все еще разрабатывается (есть планы по поддержке не виртуальных и живых объектов).

1 голос
/ 09 октября 2009

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

Короче говоря, TypeMock полезен для программистов, которые :

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

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

0 голосов
/ 13 февраля 2010

Я понимаю, что этот вопрос относится к миру .NET, но если кому-то интересно, что существует в мире Java, я могу сказать, что ответ будет "да, есть".

Инструментарий JMockit является открытым исходным кодом (лицензия MIT), и, если я что-то пропустил, он даже более мощный, чем TypeMock. (В частности, я не вижу ничего в TypeMock, которое было бы эквивалентно функциональности, предоставляемой аннотацией @Capturing в JMockit.)

0 голосов
/ 29 января 2010

gkdm спросил меня, как я планирую добавить поддержку прокси к http://beanproxy.codeplex.com/ для статических и живых объектов, мой ответ - я понятия не имею, как. Я изучил множество идей; ничего из этого не получилось. Самым близким решением, которое у меня было, было создание библиотеки профилирования, но для этого требовалось, чтобы тестер запускал мою библиотеку в качестве профилировщика, и она не смогла бы просто запустить мою библиотеку со своими тестами. Я потратил дни на чтение и тестирование идей, ничего не получалось. Я отказался от этого поиска, но был бы открыт для идей снова, если у кого-то есть. Beanproxy по-прежнему отличный инструмент, который используют многие другие разработчики. Используйте вкладки проблем и обсуждений в codeplex, если у вас есть какие-то особые потребности или проблемы по поводу beanproxy. Я всегда стараюсь его улучшить.

...