2010-09-30 4 views
4

Может кто-нибудь предложить библиотеку Mock и предоставить аргументы за выбором?Mock Object Libraries in Java

Я ищу, чтобы ввести его в существующую базу кода.

Спасибо.

+0

можно дублировать? http://stackoverflow.com/questions/22697/whats-the-best-mock-framework-for-java –

ответ

10

This is the best comparison I've seen, из нескольких явных издевательских фреймворков, включая EasyMock и mockito. [Оригинальная страница оффлайн; это ссылка на архивную копию.]

В него входят EasyMock, Mockito, jMock, SevenMock, JMockit, rMock, Unitils.

Сначала я использовал EasyMock, но перешел в Mockito. Модульные тесты, созданные с помощью EasyMock, иногда были хрупкими и трудно отлаживались. Mockito легко, отчасти потому, что он различает между stubbing и проверкой. Вот ориентированное на Mockito сравнение этого и EasyMock: http://code.google.com/p/mockito/wiki/MockitoVSEasyMock.

+1

Это сравнение очень устарело. Например, версия JMockit, которую он оценивает, составляет почти три года. Автор фактически обещал обновить его, но так и не дождался. –

+0

@Rogerio - Вам следует сообщить, что вы являетесь автором JMockit. –

+3

Описывается. Мой профиль SO содержит ссылку на сайт проекта JMockit, который, в свою очередь, показывает мое полное имя. Я просто нахожу это раздражающим и излишним, чтобы включить явное примечание об этом в каждое сообщение, которое я делаю относительно JMockit. –

0

easymock. Причины со своего сайта

«EasyMock предоставляет Mock Objects для интерфейсов (и объектов через расширение класса), создавая их« на лету »с использованием механизма прокси-сервера Java. Благодаря уникальному стилю записи EasyMock, большинство рефакторингов не повлияют на Mock Objects. Таким образом, EasyMock идеально подходит для разработки, основанной на тестах ».

+0

У вас есть личный опыт работы с EasyMock? –

1

Мое предложение JMockit (Я его написал). На сайте проекта есть много информации (и сотни фактических тестов JUnit), сравнивающих несколько Java mocking API (EasyMock, jMock, JMockit, Mockito, PowerMock, Unitils Mock), а также обширный feature comparison matrix.

+1

Неправильно рекомендовать свой собственный продукт, не раскрывая себя как автора. –

+2

Хм, я не знаю ... почему вы считаете, что это вводит в заблуждение? Любой может легко обнаружить, что, проверяя мое имя здесь и на сайте проекта; моя личность никогда не была скрыта. (Я не говорю, что вы ошибаетесь, обязательно, просто пытайтесь лучше понять точку зрения.) –

+3

Большинство людей не читают ваш профиль. Существует один автор и n пользователей. В отсутствие другой информации, скорее всего, рекомендация исходит от пользователя. Этично открыто раскрывать, что у вас есть конфликт интересов.Вот почему, например, вы видите этические средства массовой информации, включая раскрытие информации в новостных новостях, а не где-то еще, что некоторые подмножества читателей могут наткнуться ... например, ... в неиспользуемом туалете со знаком, который говорит: «Остерегайтесь тигра ". –