【发布时间】:2015-05-11 09:05:03
【问题描述】:
我知道你只能验证 void 方法。但我实际上问自己为什么。
我最近偶然发现了一个单元测试,我确实需要验证某个调用是否已进行。确切地说,它是“newFolder.mkdirs()”。 在我看来,这种方法的行为几乎是“无效的”。但作为一个“功能”,开发人员为这个函数提供了一个布尔返回类型来查看操作是否成功。
很好,但在我的测试中,我不太在意我的模拟。我只想确保完成这个调用,就像我想确保完成重要的 void 调用一样。
那么现在有可能做到这一点吗?我对此非常困惑,甚至无法想象解决这个小问题的方法:/有人有一个好主意吗?
我完全错了:你可以验证一切。我放错了括号。
我有:
verify(newFolder.mkdirs());
我需要:
verify(newFolder).mkdirs();
愚蠢的我;)
【问题讨论】:
-
我不确定您遇到了什么问题?你的意思是你想尝试类似的东西:
when(mock.hasNextItem()).thenAnswer(new Answer() { Object answer(InvocationOnMock invocation) { called = true; return item; }这里hasNextItem()方法返回boolean。
标签: java testing mockito void verify