【问题标题】:Is it pythonic to use the '__main__' mechanism to test the module?使用\'__main__\'机制来测试模块是pythonic吗?
【发布时间】:2022-08-20 19:33:25
【问题描述】:

假设我们有以下模块:

# my_module.py

def my_sum(a, b):
    return a + b + 1

if __name__ == \'__main__\':
    s = my_sum(2, 3)
    print(s)

像这样测试我的模块或其中的一部分有多糟糕/好/pythonic?

编辑:我不是说或问是否应该像那样测试一切。我的意思是,如果我很懒且模块并不重要,那么这是一种快速完成工作的惯用方式吗?

  • 尝试像这样测试庞大的代码库会发疯,因此使用单元测试。另外,测试几乎总是放在单独的文件中。
  • 查看内置unittest module
  • 这看起来不像 pythonic,也不符合任何软件工程实践。我建议尝试一些测试框架。如上所述 - unittest 或我个人最喜欢的 pytest 是不错的选择。

标签: python coding-style idioms


【解决方案1】:

这个怎么样? official docs 状态:

这通常用于为 模块,或用于测试目的(将模块作为脚本运行 执行测试套件)。

【讨论】:

    【解决方案2】:

    是的,它是 pythonic,因为它是在 python 中完成的。我建议你看看 pytest,但 python 是为初学者准备的,每个人都按照自己的方式做事。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-05
      • 1970-01-01
      • 2014-04-19
      • 2019-09-25
      • 2017-02-13
      • 1970-01-01
      • 2020-06-26
      相关资源
      最近更新 更多