【发布时间】:2017-11-29 05:09:28
【问题描述】:
我有一个单例类 SvnPlugin,我需要模拟它的 getInstance() 以返回一个模拟对象。但它并没有被嘲笑。我正在使用 Powermock 和 Easymock。
以下是我的测试代码
@Test
@PrepareForTest({SVNPlugin.class})
public void createGlobalUSerTest() throws Exception{
PowerMock.mockStatic(SVNPlugin.class);
SVNPlugin svnPlugin=PowerMock.createMock(SVNPlugin.class);
PowerMock.expectNew(SVNPlugin.class).andReturn(svnPlugin);
EasyMock.expect(SVNPlugin.getInstance()).andReturn(svnPlugin).anyTimes();
EasyMock.expect(svnPlugin.getSynProject("", "", "", "")).andReturn(true);
PowerMock.replay(SVNPlugin.class,svnPlugin);
Future<RpcResult<CreateGlobalUserOutput>>
result=impl.createGlobalUser(getGLobalUser());
PowerMock.verify(svnPlugin,SVNPlugin.class);
Assert.assertNotNull(result);
}
它需要模拟的示例代码是
SVNPlugin svnplugin = SVNPlugin.getInstance();
checkOutFlg = svnplugin.getSynProject(checkOutLocationAtLocal, svnPath , userName, passWord);
我无法理解我做错了什么。
【问题讨论】:
标签: java unit-testing mocking powermock easymock