适用于Python中单元测试的文件层次结构

jlc*_*lin 5 python unit-testing

我正在开发Python包/模块的集合(没有可执行文件).设置文件层次结构以进行测试的正确/最佳方法是什么.我可以想到两种情况:

场景1:

AllPackages/
    package1/
        module1-1.py
        module1-2.py
    package2/
        module2-1.py
        module2-2.py
    tests/
        package1/
            test_module1-1.py
            test_module1-2.py
        package2/
            test_module2-1.py
            test_module2-2.py
Run Code Online (Sandbox Code Playgroud)

场景2:

AllPackages/
    package1/
        module1-1.py
        module1-2.py
        tests/
            test_module1-1.py
            test_module1-2.py
    package2/
        module2-1.py
        module2-2.py
        tests/
            test_module2-1.py
            test_module2-2.py
Run Code Online (Sandbox Code Playgroud)

我是单元测试的新手(我知道我早就应该这样做了)所以我不确定哪种方法更好,我正在寻找那些有更多经验的人的建议.

谢谢!

Mis*_*sev 2

第二个场景允许你拥有可插拔的包,并且至少在Django 框架中使用(提及一些权威)。如果您使用普通unittest模块,它具有发现实用程序,它将找到项目文件夹中的所有测试,无论您如何组织它们,因此第二种方法也适合这里。