代码之家  ›  专栏  ›  技术社区  ›  skimchi1993

单元测试主.py与其他模块

  •  1
  • skimchi1993  · 技术社区  · 7 年前

    这更像是一个概念性的问题。我正在单元测试一个我写的脚本,它有多个模块。我有一个主.py和一个格式.py. 我的覆盖率是100%的格式,但我的主.py是30%。基本上,我只调用格式化中的所有函数。我需要直接在main中再次测试它们吗?这好像是浪费时间?也许我理解不对。提前谢谢

    3 回复  |  直到 7 年前
        1
  •  1
  •   Vadim Pushtaev    7 年前

    通常,技巧是测试外部函数本身做了什么,而不是其他被调用和已经测试过的函数。如果实际调用了内部函数,这不是问题,只是避免再次测试它们。

    如果您的外部函数足够简单,您可能会放弃测试它,100%覆盖率不是一个规则。

        2
  •  1
  •   Kos    7 年前

    单元测试的一个好的经验法则是:

    • 将代码与执行逻辑的部分和执行输入/输出的部分分开
    • 单元测试执行逻辑的部分
    • 不单元测试执行i/o的部分

    根据您的需要和脚本的大小,您可以决定进行单元测试、集成测试或两者兼有。

        3
  •  1
  •   Nikolay Rys    7 年前

    通过减少新的、更高级别的方法所需的测试数量,测试内部件的事实允许您利用它。

    其他答案中的人正在讨论将这些测试视为集成的测试,但是我要声明的是,您还需要为上层函数本身单独进行一些测试,所有已经测试过的依赖项都会被模拟和排除。 这并不总是必要的,但是请注意,否则您会得到一个混合测试,因为顶层有一个新的功能。