我只是想让PowerMock/EasyMock正常工作。我使用的是PowerMock 1.5:
<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);并为PowerMock使用RunWith注释,但是无论我尝试使用哪个类,我总是得到这个异常。我做错了什么?
发布于 2013-02-15 04:22:54
在此版本的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
发布于 2013-02-15 04:16:36
只要我问一下..。使用错误版本的easymock。需要升级到3.0版
另外,String是一个最终的类,所以它不能与string一起工作...
发布于 2013-12-03 00:37:04
低于3.0的EasyMock版本将抛出此错误。升级您的EasyMock版本。
https://stackoverflow.com/questions/14883116
复制相似问题