2012-08-07 93 views
0

我有我使用的是看我可以得到一些簡單的類powermock工作:PowerMock的NoClassDefFoundError

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 
... 

我不知道爲什麼它這樣做。請幫忙。

回答

3

使用PowerMock時請確保您的課程路徑中包含EasyMock ...您可以在下載頁面找到here

根據PowerMock上的Wiki,它聲明EasyMock是依賴項。

+0

嗯easymock似乎工作正常。 – KWJ2104 2012-08-07 02:48:02

+0

......這意味着什麼?你從[這裏]下載了哪個PowerMock文件(http://code.google.com/p/powermock/downloads/list)? – oldrinb 2012-08-07 03:05:19

+0

我有一個自定義的第三方版本的powermock-easymock-1.3.8-full.jar – KWJ2104 2012-08-07 03:15:52