python测试用例要模拟什么?

时间:2019-03-26 06:57:44

标签: python unit-testing testing

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

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

2 个答案:

答案 0 :(得分:2)

应该出于某种原因进行模拟。充分的理由是:

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

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

答案 1 :(得分:0)

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