如何替换弃用的方法Mockit.setUpMock?

问题描述:

我有一些代码,它使用旧版本的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)。 –

使用Mockup

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

}; 

做一个试试吧!

替换

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

请在投票时添加评论,以便我可以纠正我的错误。 –