我使用一些简单的类来查看是否可以使powermock工作:

import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.easymock.PowerMock;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

@RunWith(PowerMockRunner.class)
@PrepareForTest(Foo.class)
public class FooTest
{
    @Test
    public void testFoobar(){
        Foo test = PowerMock.createPartialMock(Foo.class, "foobar");
        PowerMock.replay(test);
    }
}




public class Foo
{
    public String foobar(String aString){
        return aString + " blah";
    }
}


当我尝试运行此单元测试时,它告诉我:

java.lang.NoClassDefFoundError: org/easymock/classextension/internal/ClassProxyFactory$MockMethodInterceptor
...


我不知道为什么要这么做。请帮忙。

最佳答案

使用PowerMock时,请确保在类路径中包括EasyMock。您可以找到下载页面here

根据PowerMock上的Wiki,它声明EasyMock是依赖项。

关于java - PowerMock NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11838504/

10-12 00:38