Подтвердить что ты не робот

Есть ли какая-то система с открытым исходным кодом, напоминающая TypeMock?

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

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

EDIT: это позволяет использовать такие функции, как:

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

Ответ 1

TypeMock слишком дорог для hobbist like me

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

Ответ 2

Declaimer Я работаю в Typemock.

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

Есть ли какой-либо open source mocking Framework, напоминающий TypeMock?

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

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

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

TypeMock слишком дорог для hobbist like me

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

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

Ответ 4

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

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

Ответ 5

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

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

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

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

Ответ 6

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

Ответ 7

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

Ответ 8

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

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