我有一个我需要模拟的最后一堂课,所以我转向PowerMock。我觉得EasyMock风格的语法不可读,所以我试图使用PowerMockito。
完全披露,我在Spock中这样做,这意味着我不能使用PowerMock跑步者,但我已经有了规则,所以问题就解决了。是的,我尝试过Groovy模拟,但他们无法处理Java最终类。
以下是工作版本的草图:
@PrepareForTest([Final.class])
class MapperTest extends Specification {
@Rule PowerMockRule rule = new PowerMockRule()
def testIt() {
given:
def fin = PowerMock.createMock(Final.class)
...
我从网上的例子中克隆了这个版本的炸弹:
@PrepareForTest([Final.class])
class MapperTest extends Specification {
@Rule PowerMockRule rule = new PowerMockRule()
def testIt() {
given:
def fin = PowerMockito.mock(Final.class)
...
我在运行时遇到以下异常:
java.lang.NoClassDefFoundError: org/mockito/mock/MockName
at org.powermock.api.mockito.PowerMockito.mock(PowerMockito.java:143)
撕掉我的头发。谢谢,如果你能帮忙的话!
更新:我在JUnit中试过这个,同样的问题。