Mock 或 Stub 有什么区别?

Posted programb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mock 或 Stub 有什么区别?相关的知识,希望对你有一定的参考价值。

存根

一个有助于运行测试的虚拟对象。

在某些可以硬编码的条件下提供固定行为。

永远不会测试存根的任何其他行为。

例如,对于空堆栈,您可以创建一个只为 empty()方法返回 true 的存根。因此,

这并不关心堆栈中是否存在元素。

一个虚拟对象,其中最初设置了某些属性。

此对象的行为取决于 set 属性。

也可以测试对象的行为。

例如,对于 Customer 对象,您可以通过设置名称和年龄来模拟它。您可以将 age设置为 12,然后测试 isAdult()方法,该方法将在年龄大于 18 时返回 true。因此,您的 Mock Customer 对象适用于指定的条件。

以上是关于Mock 或 Stub 有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章

Spock测试框架中Mock / Stub / Spy之间的区别

Mockito.mock(SomeClass)和@Mock注释有什么区别?

测试软件:fake vs stub

怎样测试method中变量的值 mock

fake stub mock

单元测试之Stub和Mock