Три недостатки:
- Вы должны использовать агент Java, чтобы сделать байткодом приборов.
- Вы не можете использовать подписанный файл junit.jar, поставляемый с Eclipse.
- Вы должны изучить макет API. (В отличие от объекта-заглушки)
Вы всегда можете обсудить, хорошо ли быть в состоянии высмеять окончательный класс, например, JMockit. Если это устаревший код, рефакторинг обычно является лучшей альтернативой.
С помощью IDE, таких как Eclipse, я нахожусь с помощью инструментальной поддержки для создания заглушек внутри тестового класса чаще, чем издевательства (JMockit, Mockito и т. Д.) В последнее время. Преимущество такого подхода заключается в том, что он очень прост. Это особенно приятно, когда у вас есть команда со многими разработчиками, и некоторые из них не любят тестирование и мало мотивируют изучать насмешливую структуру. Кроме того, в реализациях заглушек нет ограничений на фреймворк!
Если вы открыты для гася в качестве альтернативы, вы должны проверить блог Роберта С. Мартина о насмешливых и гася here и here
Else, это выглядит очень хорошо! Хотя у меня есть только опыт работы с JMock, EasyMock и базовые знания с JMockit.
Да, я тоже спрашиваю себя, как далеко я хочу смеяться. Мой собственный код использует Dependency Injection повсюду, поэтому насмешка не является сложной задачей (хотя я не всегда использую интерфейсы для всего, что связано с дополнительным усилием обслуживания + накладными расходами при использовании с GWTRPC). Когда вы говорите, что используете поддержку инструмента для создания заглушек в Eclipse - какие инструменты вы имеете в виду? –
Просто базовая поддержка Java в Eclipse. Например, если вы создаете частный или анонимный класс, который реализует интерфейс, который вы хотите заглушить, то Eclipse может создать реализацию скелета. Просто нажмите + 1 после того, как вы выбрали класс. –
Espen
А, ок - я подумал, может быть, есть какой-то инструмент, который сохраняет синхронизацию, когда код меняется или что-то в этом роде. –