我想使用PowerMock和Mockito來模擬一些靜態方法調用。我儘可能地遵循了SO以及PowerMock Getting Started和MockStatic頁面的說明和示例,但我還沒有完成mockStatic()調用。設置Powemockito進行靜態模擬
當我從我的測試類調用mockStatic(讓Foo.class),我給出的excception:
java.lang.NoClassDefFoundError: org/Mockito/mock/MockName
at org.powermock.api.mockito.PowerMockito.mockStatic(PowerMockito.java:70)
at ...my test class method call...
我敢肯定,這是一個設置問題,因爲我一直在尋找中使用的術語爲了設置這是相當混亂。我確實從PowerMock downloads抓取了Mockito Zip。在Eclipse(3.5.2)中,我打開了項目屬性並添加了所有的Jars到構建路徑。我也嘗試將整個解壓縮的powermockito文件夾添加到我的環境變量類路徑中,然後只是powermockito jar,特別是當這種情況沒有奏效時。
我有這些annotationsat我的測試類的類級別爲好,每powermock說明:
@RunWith(PowerMockRunner.class)
@PrepareForTest(ApplicationContextLoader.class)
而且這些特定powermock-進口:
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
對於那些你們誰之前使用過PowerMockito,即使只是一個指向正確方向的指針,或者要檢查的東西也會非常有幫助。我很努力地看到我的設置與我所看到的帖子的不同之處 - 從我能說的 - 相同的語法。
你有沒有找到一個解決辦法? – Dave
不是我記得,雖然已經有幾年了。我從@Walls得到了答案,所以這一定是最有幫助的,缺乏解決方案。 – Ubunfu