是否更好地将所有测试文件收集到一个文件夹中,或者让它们在任何地方分发?

时间:2012-03-22 09:36:16

标签: python unit-testing testing code-organization

现在我有一个python项目,我在其许多文件夹中编写了单元测试代码,树看起来像:

Project
├── module1
│   ├── submodule1
│   │   ├── base.py
│   │   ├── model.py
│   │   └── tests.py
│   ├── conn.py
│   ├── __init__.py
│   └── tests.py
├── errors.py
├── __init__.py
├── router.py
└── tests.py

您可以看到项目中的许多tests.py个文件位于模块的根文件夹中。我用鼻子帮我做测试,当我想测试所有这些时,只需在上层文件夹中运行nosetests Project,一切正常。

接着提出我的问题:我看过龙卷风等项目,将所有测试文件放在一个文件夹中,以便管理它们(我猜),这比我现在做的更好,如果是的,那为什么呢?根据Python的哲学,我的测试方式有什么不对吗?

2 个答案:

答案 0 :(得分:1)

我将测试放在/test文件夹下,与源文件分开。对于那些我不想发送测试代码的情况,它使包装更容易。

答案 1 :(得分:0)

个人而言,我更喜欢将我的测试文件存储到特定的子目录test中,但我喜欢将测试和代码保持在非常接近的位置,因此我的项目中每个位置都有test个子目录。

 Project
    ├── module1
    │   ├── submodule1
    │   │   ├── base.py
    │   │   ├── model.py
    │   │   └── test
    │   │       └── submodule1_test.py
    │   ├── conn.py
    │   ├── __init__.py
    │   └── test
    │       └── module1_test.py
    ├── errors.py
    ├── __init__.py
    ├── router.py
    └── test
        └── errors_test.py
        └── router_test.py

非常容易制作避免所有测试目录的包装。