Mock 与 Stub 有什么区别?

发布于 2020-01-11 11:36:06
关注者
0
被浏览
774
1 个回答
  • 面试哥
    面试哥 2020-01-11
    为面试而生,有面试问题,就找面试哥。

    Stub

    • 一个有助于运行测试的虚拟对象。
    • 在某些可以硬编码的条件下提供固定的行为。
    • 从未测试stub的所有其他行为。

    例如,对于空栈,你可以创建一个对于 empty() 方法只返回 true 的 stub。因此这并不关心栈中是否存在元素。

    模拟

    • 一个虚拟对象,其中最初设置了某些属性。
    • 此对象的行为取决于设置的属性。
    • 也可以测试对象的行为。

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

知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看