【问题标题】:What to mock for python test cases?python 测试用例要模拟什么?
【发布时间】:2019-08-16 11:54:31
【问题描述】:

我想了解在编写一般测试用例时哪些需要模拟,哪些不需要模拟。

例如,我们将模拟 I/O 操作,但是从另一个模块导入的函数呢?我们也应该嘲笑他们吗?

【问题讨论】:

  • 有很多单元测试教程,快速 google 一下!
  • 他们不会谈论开发人员在嘲笑某事时的想法,这是需要有经验的开发人员理解的。
  • 我的看法是你的问题对于这个平台来说太宽泛了,但是其他人可能不同意,我希望你能找到你想要的答案。
  • 我们在这里解决具体问题。提供 turorials 不是我们可以提供的服务。
  • 要了解经验丰富的开发人员认为您必须成为一名经验丰富的开发人员。无论如何,这是关于stackoverflow的话题

标签: python unit-testing testing


【解决方案1】:

您真的必须知道您在进行什么单元测试。从那里可以清楚地知道要模拟什么......

【讨论】:

    【解决方案2】:

    模拟应该是有原因的。充分的理由是:

    • 您无法轻松地使依赖组件 (DOC) 的行为符合您的测试预期。
    • 调用 DOC 是否会导致任何非确定性行为(日期/时间、随机性、网络连接)?
    • 测试设置过于复杂和/或维护密集(例如,需要外部文件)
    • 原始 DOC 为您的测试代码带来了可移植性问题。
    • 使用原始 DOC 是否会导致构建/执行时间过长而无法接受?
    • 是否存在导致测试不可靠的 DOC 稳定性(成熟度)问题,或者更糟糕的是,DOC 甚至还没有可用?

    例如,您(通常)不会模拟 sincos 之类的标准库数学函数,因为它们不存在上述任何问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多