Как я могу издеваться над статическими методами в Java 1.4? - PullRequest
3 голосов
/ 03 марта 2011

Я использую JUnit с Mockito. PowerMock может издеваться над статическими методами, но его невозможно использовать с Java 1.4, тем более что для него нужны аннотации.

Есть ли другая альтернатива?

Спасибо.

Ответы [ 3 ]

1 голос
/ 06 марта 2011

(Бесстыдная самореклама здесь) Существует проект PowerMock-Legacy , который позволяет использовать PowerMock в Java 1.4. Это немного многословно, и не все функции поддерживаются, но, возможно, стоит попробовать.

1 голос
/ 03 марта 2011

Лично я предпочитаю свести к минимуму использование издевательств. Если в вашем коде есть статический метод, я бы изменил его, чтобы сделать его более удобным для модульных тестов. Может быть, это не должно быть статичным. Или, если это так, возможно, вы могли бы использовать метод установки, который определяет, как ведет себя статический метод.

Если статического метода нет в вашем коде, вам, вероятно, не повезло.

0 голосов
/ 08 марта 2011

Попробуйте jMockit и дважды проверьте, можно ли изменить код (или это устаревший код?).Mockito говорит о насмешливых статических методах

Mockito предпочитает ориентацию объектов и внедрение зависимостей, а не статический процедурный код, который трудно понять и изменить.( Источник )

Проверьте также этот связанный пост, особенно ответ Джона.

...