如何解决如何在私有 Java 类的静态方法中模拟局部变量?
我正在为类“Util”中的静态方法“updateStatusOfModel”编写单元测试,其构造函数是私有的。
这个静态方法实例化一个局部变量dbManager如下:
ActivationDBManager dbManager = new ActivationDBManager();
这个 dbManager 用于调用我必须模拟的方法。
我对此进行了如下嘲笑,但不知何故,它不起作用。单元测试没有为 ActivationDBManager 选择模拟对象。
感谢任何帮助。
@Test
@PrepareForTest(Util.class)
void updateStatusModel() throws Exception {
ActivationDBManager mockdbManager = Mockito.mock(ActivationDBManager.class);
PowerMockito.whenNew(ActivationDBManager.class).withNoArguments().thenReturn(mockdbManager);
PowerMockito.doNothing().when(mockdbManager).updateDBStatus(Mockito.anyString(),Mockito.anyString(),Mockito.anyString());
Util.updateStatus("","","");
}
Util.updateStatus 是一个静态方法。
解决方法
您应该将 git update-index --skip-worktree f1 # stop looking at worktree f1
git update-index --no-skip-worktree f2 # resume looking at worktree f2
添加到 git ls-files
,因为您正在操纵其字节码(使用 ActivationDBManager
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。