【发布时间】:2015-07-06 11:12:22
【问题描述】:
我正在设置这样的 int 值:
when(status.getCurrentSeq()).thenReturn(0);
当测试用例运行时,代码逻辑将 CurrentSeq 的值设置为 1。
status.setCurrentSeq(1)
但currentSeq 仍然是模拟对象中的0。再次获取status.getCurrentSeq() 总是返回0。
【问题讨论】:
-
好像你在混合模拟行为和真实行为。
-
也许您可以向我们展示整个单元测试并尝试解释您要测试的确切行为。
-
它是一个递归。在更新值的基础上,执行下一个逻辑。如果它没有从 0 更新到 1;然后每次执行相同的逻辑并且代码永远运行。
标签: java unit-testing junit mocking mockito