使用Mockito时mock()和stub()有什么区别?

发布于 2024-10-21 09:13:48 字数 121 浏览 1 评论 0原文

它们似乎都做同样的事情 - 为什么你会优先使用其中一个而不是另一个?

org.mockito.Mockito.stub()
org.mockito.Mockito.mock()

They both seem to do the same thing - why would you use one in preference to the other?

org.mockito.Mockito.stub()
org.mockito.Mockito.mock()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蝶…霜飞 2024-10-28 09:13:48

您可以使用模拟对象来验证您是否按照预期的方式调用了它。在 Mockito 中,模拟对象会自动成为存根,并显式进行验证。

来自 Mockito 的“为什么我们需要另一个模拟框架?”

 Separation of stubbing and verification. Should let me code in line with intuition: 
 stub before execution, selectively verify interactions afterwards. I don’t 
 want any verification-related code before execution.

您可以存根行为在被呼叫之前的呼叫。例如(来自 Mockito 主页):

 when( mockedList.get(0)).thenReturn( "first" );

您可以在调用模拟对象后验证与模拟对象的交互。例如:

 verify( mockedList ).add("one");

You can use a mock object to verify that you have called it in the way expected. In Mockito, mocked objects are automatically stubs, and verification occurs explicitly.

From Mockito's "Why do we need another mocking framework?":

 Separation of stubbing and verification. Should let me code in line with intuition: 
 stub before execution, selectively verify interactions afterwards. I don’t 
 want any verification-related code before execution.

You can stub the behavior of calls before they're called. For example (from the Mockito home page):

 when( mockedList.get(0)).thenReturn( "first" );

You can verify interactions with mocked objects after they're called. For example:

 verify( mockedList ).add("one");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文