我正在尝试通过模拟 JMock 中的类来编写代码来测试方法,该方法在内部调用了三种不同的方法(其中一个是私有方法)。我为所有三种内部方法设置了期望值。然后我调用方法,它正在测试中。测试用例失败,说它期望调用私有方法并且没有调用它。发生的事情是两个内部方法(使用默认访问说明符)被成功模拟,但私有方法没有被模拟,实际上控制到达导致问题的实际私有方法内部。当我将私有方法的访问说明符更改为默认访问时,一切正常,但我不想这样做。有人可以解释一下这种行为并让我知道如何解决这个问题
问问题
2448 次
2 回答
1
JMock 不能模拟私有方法,简单明了。Mockito 也不能模拟私有方法。如果你真的想模拟私有方法,你需要使用PowerMock框架。
于 2012-04-22T00:01:29.587 回答
0
您也可以使用 Jmockit。这是一个可以用于这个用例的优秀库。您可以使用的关键字:“去封装”。
于 2015-10-29T12:30:30.860 回答