2010-06-17 4 views
7

Я понимаю, что это было задано раньше, но в последний раз было в середине 2008 года.Какая лучшая изоляционная среда для Java? JMock, Easymock, Mockito или другие?

Если вы начали новый проект прямо сейчас, какой из них вы бы использовали и почему? Каковы их сильные/слабые стороны в отношении читаемости, удобства использования, ремонтопригодности и общей надежности?

+0

Можете ли вы задать конкретный вопрос? –

ответ

7

Раньше я использовал Easymock, но теперь я использую Mockito. Я нашел Mockito проще по сравнению с Easymock. Для детального сравнения Easymock и Mockito вы можете обратиться к here

+0

Mockito, безусловно, выглядит более читаемым, чем Easymock. Это важный критерий для единичного теста. – HDave

1

Я использую EasyMock в течение некоторого времени. Продолжает добавлять новые функции, которые позволяют достичь большего количества тех труднодоступных мест.

Mockito сохранит некоторые строки кода для наиболее распространенных тестовых случаев.

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

+0

Я выбираю инструмент для нового проекта и ожидаю, что он будет довольно обычным. Что-нибудь Мокито не может сделать, что делает EasyMock? – HDave

+2

Затем Mockito может сэкономить вам некоторое время и привести к лучшей читаемости в ваших тестовых случаях. – bug11

0

Мой (предвзятый) ответ будет JMockit. Для быстрого сравнения с другими инструментами для издевательств см. Раздел comparison matrix.

Тестовый код, написанный с ним, должен быть более читабельным и лучше структурированным (есть примеры тестов для сравнения по бокам). JMockit mocking API обычно требует меньше «использования», чем другие издевательские API, чтобы написать тот же тест. Наибольшее преимущество, IMO, заключается в том, что он не вызывает никаких компрометаций проекта для тестируемого кода. С другой стороны, поскольку JMockit опирается на более продвинутые методы и имеет больше возможностей, он также имеет больший потенциал для пользователей, сталкивающихся с неожиданными трудностями.

3

Чтобы объяснить нашу мотивацию, jMock является «самоуверенной» библиотекой. Он разработан для того, чтобы ориентировать подход к разработке OO, который фокусируется на протоколах между сотрудничающими объектами. Если вы не думаете о своих системах таким образом, то это, вероятно, не самый лучший вариант.