2013-02-14 5 views
1

Я просто пытаюсь заставить PowerMock/EasyMock работать. Я использую PowerMock 1.5:PowerMock: не интерфейс

<dependency> 
     <groupId>org.powermock</groupId> 
     <artifactId>powermock-easymock-release-full</artifactId> 
     <version>1.5</version> 
     <type>pom</type> 
    </dependency> 

Вот мой код:

String text = PowerMock.createMock(String.class); 

И это все. Когда я запускаю программу, я получаю: java.lang.IllegalArgumentException: java.lang.String is not an interface

Я пытался делать:

String text = EasyMock.createMock(String.class); 

А с помощью аннотаций RunWith для PowerMock, но независимо от того, какого класса я стараюсь, я всегда получаю это исключение. Что я делаю не так?

ответ

4

Прекрасно работает с этой версией EasyMock:

<dependency> 
    <groupId>org.easymock</groupId> 
    <artifactId>easymock</artifactId> 
    <version>3.1</version> 
</dependency> 

Вы должны также посмотрим на то, как издеваются системные классы:

http://code.google.com/p/powermock/source/browse/trunk/modules/module-test/mockito/junit4/src/test/java/samples/powermockito/junit4/system/SystemClassUserTest.java?spec=svn1714&r=1714

0

Как только я попрошу ... Использование неправильной версии easymock. Необходимо, чтобы обновить до версии 3.0

Также Строка является конечным классом, поэтому он не работает со строкой ...

0

EasyMock версия менее 3,0 выбросит эту ошибку. Обновите версию EasyMock.

Смежные вопросы