【问题标题】:Mocking framework vs functional testing, why bother mocking?模拟框架与功能测试,为什么还要模拟?
【发布时间】:2015-04-22 15:59:25
【问题描述】:

我了解使用模拟框架我们可以覆盖对象的行为。这使测试更容易和更快。在生产环境中模拟对象行为可能会很好。但随之而来的问题是嘲笑不仅仅是针对开发人员吗?最后,功能测试(这是现实世界的测试)向我们展示了通过或失败的内容。那么,为什么要延长令人羡慕的呢?为什么要模拟一个对象只是为了发现它甚至在生产中都不起作用。为什么要等待功能测试人员发现代码不起作用。如果我们不模拟而是使用真正的测试,那么我们可以立即找到错误,而不是用模拟来取悦自己。这是向我提出的一个论点,它可能是哲学的,但您对模拟框架与现实世界的单元测试有何看法

【问题讨论】:

    标签: unit-testing testing mocking


    【解决方案1】:

    好问题。在编写自动化开发人员测试十年(甚至为我的需要创建了一个模拟库)之后,我只能得出结论,使用模拟的单元测试不是最好的方法。

    相反,编写验收级别的集成测试对我来说效果更好。我只在没有简单方法的情况下使用模拟。

    不过,我怀疑大多数开发人员还需要几年的时间才能分享这种观点。即使在今天,由于缺乏对此类测试的良好工具支持,创建(和运行)“真实世界”集成测试通常比仅仅模拟依赖项更难;很多时候,“作弊”并使用模拟创建一堆单元测试更容易,而不是费心创建真正以更真实的方式运行代码的真实测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-21
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多