Как стать автором
Обновить

Комментарии 25

интересный обзор.
сам из них всех использую mockito. не рассматривали его как кандидата в сравнения?
«А я ждал этого вопроса» ©

Дело в том, что Mockito и JMockit я знаю только в теории и небольшой практике, но на реальных проектах пока возможности использовать не было. Потому написал о том, что пробовал в жизни. Вскоре, впрочем, наконец смогу опробовать JMockit, и тогда напишу продолжение.
А как же Mockito? Мне кажется, он круче обоих )).
Не вы один так считаете: stackoverflow.

PS При работе с Mockito появился термин: замОчить класс/метод =)
Но там же пишет создатель PowerMock, который рекламирует свой продукт. Его я не пробовал.
Не понимаю о чём вы — выдержка из самого популярного ответа:
I've had good success using Mockito.

When I tried learning about JMock and EasyMock, I found the learning curve to be a bit steep (though maybe that's just me).

I like Mockito because of its simple and clean syntax that I was able to grasp pretty quickly. The minimal syntax is designed to support the common cases very well, although the few times I needed to do something more complicated I found what I wanted was supported and easy to grasp.
I am the creator of PowerMock so obviously I must recommend that! :-)

PowerMock extends both EasyMock and Mockito with the ability to mock static methods, final and even private methods. The EasyMock support is complete, but the Mockito plugin needs some more work. We are planning to add JMock support as well.

А вот сравнение с JMockit других фреймворков:
code.google.com/p/jmockit/wiki/MockingToolkitComparisonMatrix
Мокать статику не есть хорошо, однако. Хотя когда активно используется какая-нибудь (гуи-)либа, иногда этого не избежать…
Не только гуи. Представьте, что вы, например, пишете что-нить типа ListUtils. Там все методы статические. А тестировать надо. Может возникнуть ситуация, что вам надо что-то промОкнуть…
Ответил выше
Подтверждаю, игрался как с JMock и EasyMock, но как увидел Mockito сразу же забыл о первых двух. Если по возможностям не могу сказать что-то конкретного (первые два уже не стал глубоко изучать и писать «продакшн тесты», то по синтаксису dsl от Mockito приятнее: docs.mockito.googlecode.com/hg/org/mockito/Mockito.html
А вы пробовали jMockit?
Нет, остановило, что он был следующим у меня в списке после мокиты — остановил похожий на jmock dsl с new Verifications() {{

Yо в планах посмотреть на него поближе нежели «кусочек экземпла», есть люди которые уверяют что он гораздо круче мокиты.

Думаю этот момент наступит когда упрусь в возможности мокиты
Я вот буквально час назад уперся в то, что надо мокнуть статический метод ((.
Первый раз я уперся в то, что мне нужно было протестировать метод который делает некоторые вещи на основе аннотаций. На j.l.Class Мокито, как оказалось натянуть моки не в состоянии…
Mockito — самый элегантный фреймворк для создания моков.
А вы не пробовали JMockit, случайно?
Так, смотрел только. Не люблю двойные скобки:
new Verifications() {{
Понятно. Просто у них на сайте на сайте нарисовано, что они круче всех и возможностей у них громадье.
Да, тут в самом крутом ответе написано, что юзать надо jMockit. Чувствую, что жизнь прошла зря ).
Ответил выше
А чем вы код подсвечивали?
Этому трюку меня научил один хабрапользователь, но я, к сожалению, забыл его имя. Всё просто:
<table><tr><td><sou_rce>
1
</sou_rce></td><td><sou_rce lang="java">
System.out.println("hello, world!");
</sou_rce></td></tr></table>

Даёт такой результат:
1
System.out.println("hello, world!");


Только подчёркивание из source уберите :)
Эээ, не вышло. В комментариях, похоже, не работает.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.