在Python中,对使用父目录中其他模块的模块(在子目录中)编写单元测试的正确方法是什么



尽量在标题中描述它。我对在大型项目中使用python还很陌生。通常,我只将它用于小脚本。我通读了手册,找到了制作模块的正确方法。

所以我现在设置了以下文件结构:

- main.py
- module1
- __init__.py
- thing1.py
- thing2.py
- module2
- __init__.py
- thingA.py
- thingB.py

我的项目将在我启动main.py.时运行

我知道我可以通过在每一个"东西"中使用if __name__ == '__main__':来为每一件"东西"编写简单的单元测试,这就是我所做的

文件thingB.py需要thing2.py才能工作。只要启动main.py,thingB就会找到thing2。但是,当我在thingB自己的目录中直接启动它(使其单元测试运行(时,它找不到thing2。

正确的方法是什么?

您应该从主目录运行所有内容:

python -m module1.thing1
python -m module2.thingA

以这种方式CCD_ 2和CCD_。单元测试应该以相同的方式运行:

python -m unittest discover module1
python -m unittest discover module2

最新更新