【发布时间】:2023-03-18 11:24:01
【问题描述】:
我正在尝试通过模拟 JMock 中的类来编写代码来测试方法,该方法在内部调用了三个不同的方法(其中一个是私有方法)。我为所有三种内部方法设置了期望值。然后我调用方法,它正在测试中。测试用例失败,说它期望调用私有方法并且没有调用它。发生的事情是两个内部方法(使用默认访问说明符)被成功模拟,但私有方法没有被模拟,实际上控制到达导致问题的实际私有方法内部。当我将私有方法的访问说明符更改为默认访问时,一切正常,但我不想这样做。有人可以解释一下这种行为并让我知道如何解决这个问题
【问题讨论】:
-
私有方法在做什么意味着您希望模拟它们?
-
该方法中有一些业务逻辑,现在我更改了它的访问说明符以使其与 JMock 一起使用
-
允许逻辑运行有什么害处?当有人想模拟该主题的一部分时,我倾向于认为您有两个(或更多)类可以相互逃避。
标签: java unit-testing testing jmock