![]() |
1
39
我认为你把这件事搞得太复杂了。您根本不应该使用期望值块。你所需要做的就是这样:
基本上,通过Deencaapsulation调用一个私有方法,并测试实际值是否与预期值相等。就像如果方法是公开的一样。没有进行嘲讽,所以不需要期望块。 |
![]() |
2
3
在这一点上,我不知道JMockit是否可以或应该用于此。测试我的私有方法可以用普通的旧反射来完成,尽管我开始这个练习是为了了解JMockit(并测试我的代码)。如果JMockit不能用于此目的,下面是我可以使用反射的方法。
对的呼叫
但你想知道什么才是真正酷的吗?如果你不打电话
|
![]() |
3
2
由于在最新的Jmockit中不允许使用嘲笑私有方法。可以将该私有方法中使用的API模拟为 变通办法 而不是嘲笑私有方法。 这种变通方法也可以作为最终解决方案。
例子:
测试等级:
注:
|
![]() |
4
0
从1.35(?)开始,jmockit删除了辅助方法。因为它不再有用(我不太明白) 但是是的,这个实用程序在其他地方也有
|
![]() |
5
0
正如@Jeff Olson所提到的,您也可以通过声明bean的私有方法来调用它们
以下是一个示例:
|
![]() |
6
-2
为什么要直接测试私有方法?大多数情况下,API方法即公共接口方法都是作为 将间接测试私有方法 以及他们。你可以把 使用私有方法的期望值断言语句 在公共方法中调用它们。所以,如果assert失败,您可以确信私有方法存在一些问题。所以你不需要单独测试。 |
![]() |
PDStat · JMockit模拟在初始化期间抛出异常的类 8 年前 |
![]() |
Endran · 为什么我不能用JMockit模拟数学 8 年前 |
|
Programmer · JMockit抛出错误 9 年前 |