将目录作为单个模块处理?

时间:2013-06-13 17:57:06

标签: python

我目前正在为我公司的构建脚本设计和实现单元测试。我遇到了单元测试模块变得有点大的问题,我想把它拆分成单独的模块。但是,这会使单元测试使用起来有点复杂(用户必须知道所需测试所在的模块,然后将该模块名称附加到所有函数),并且我希望尽可能简单地保持它未来的使用。

正如我所看到的,有两种方法可以解决这个问题。我可能会对命名空间感到棘手 - 这是我不想尝试完成的壮举 - 或者我可以找到一些方法来处理测试目录中的所有模块,就像它们包含在单个文件中一样。 这将实现两个目标:第一,它将使单元测试的未来维护变得更加容易,其次,它将简化对必须测试构建脚本的人的单元测试的使用。

有没有办法在Python中这样做?此外,如果有任何不清楚的道歉。我是Python的新手,所以我的术语可能不正确。

非常感谢!

1 个答案:

答案 0 :(得分:3)

是,在您的目录中,创建一个__init__.py文件,并将所有文件导入该文件。

-test_dir/
    __init__.py
    one.py
    two.py
__init__.py

中的

from one import A, B, C
from two import D, E, F

这样,您的目录test_dir可以被视为一个模块。