2016-07-25 162 views
2

我有一些代碼,它使用舊版本的jmockit庫。我發現,Mockit類的setUpMock方法已被廢棄,但我無法找到Jmockit API文檔的說明,我如何替換下面的代碼。如何替換棄用的方法Mockit.setUpMock?

@Test(expected=IllegalArgumentException.class) 
public void updateWithBadRownum() throws Exception 
{ 
    Mockit.setUpMock(Tool.class, new MockTool()); //It doesn't support on latest version of jmockit 
    Mockit.setUpMock(Criteria.class, new MockCriteria()); 
    new TaskInitializer().populateSchemas(cnn, 10); 
    Map parameters = new HashMap(); 
    parameters.put("ROWNUM", "abc"); 
    Assert.assertTrue(4 == StatusUpdaterImpl.execute(parameters)); 
} 
+0

版本1.1(及其他)的API文檔確實(在舊API的棄用評論和新API的文檔中)表示如何用新API替換「Mockit.setUpMock」等的使用( 'MockUp')。 –

+0

請問你能提供我的鏈接嗎?我沒有找到評論 –

+0

當然。版本[1.1](http://jmockit.org/changes.html#1.1),[1.2](http://jmockit.org/changes.html#1.2),[1.3](http: /jmockit.org/changes.html#1.3),[1.4](http://jmockit.org/changes.html#1.4)和[1.5](http://jmockit.org/changes.html#1.5)所有人都談論刪除舊API和相應的新API以供使用。版本1.1的API文檔中的棄用註釋可以在[Maven Central]中找到的'jmockit-1.1-sources.jar'文件中找到(http://repo.maven.apache.org/maven2/com/googlecode /jmockit/jmockit/1.1)。 –

回答

3

使用Mockup

new MockUp<Tool>() { 
    @Mock int someMethod(int i) { assertTrue(i > 0); return 123; } 

}; 
-1

做一個試試吧!

替換

Mockit.setUpMock(A.class,MockA.class);//old waynew MockA();//new way

(我把這種new MockA(); JUnit中setUp()方法)

重寫

class MockA(){ // old mock class 
    //Mock methods  
} 

class MockA extends MockUp<A>{ // new mock class 
    //Mock methods  
}  
+0

請在投票時添加評論,以便我可以糾正我的錯誤。 –

相關問題