gpt4 book ai didi

java - 模拟和 stub 之间有什么区别(JMock)

转载 作者:行者123 更新时间:2023-11-28 20:25:09 25 4
gpt4 key购买 nike

jMock 中的 mock 和 stub 有什么区别?我可以用 jMock 创建两者吗?我如何用它创建 stub 以及什么情况最适合这种情况,我相信使用 stub 是当我需要准备一些状态进行测试时。

谢谢

最佳答案

维基百科有一个 article regarding Mock objects , 但术语没有尽可能好地解释。我们曾经做过这种区分(当然,这可能会受到讨论):

模拟和 stub 都模拟测试组件所需的对象。

当您想要断言被测组件和模拟对象之间发生了特定类型的交互时,会使用“模拟”一词。这就是为什么模拟框架(如 EasyMock)提供方法来断言所有预期的调用都已实际执行。例如您希望看到您的服务实际上调用了一个(模拟的)DAO。所以这个调用是你的测试条件/断言的一部分。

然而,当您只是试图提供有助于测试您的组件的实现时,会使用“ stub ”一词。发生什么样的交互并不重要,您只需要 stub 来填补空白,以便您可以测试您的组件。您的重点在于经过测试的组件及其作用。

所以这只是同一件事的两个词,具体取决于您要用它实现的目标。

关于java - 模拟和 stub 之间有什么区别(JMock),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5764981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com