测试套件的结构

时间:2012-02-01 08:51:36

标签: python

在下面提到的目录结构中,我正在尝试为测试模块构建一个python平台。代码位于python路径中包含的目录/ opt / site中。

在/ opt / site目录中,我还有一个__init__文件,另一个文件是suite.py以及目录dir1,dir2

在dir1,dir2目录中我有以下文件__init__和execute.py

我的问题是如何在suite.py上提供代码,如果我在suite.py中提到dir1,则应执行dir1 / execute.py,如果提到dir2,则应执行dir2 / execute.py或两者都执行然后提到dir1 / execute.py和dir2 / execute.py应该执行

如何从suite.py

调用dir1 / execute.py中的特定函数

任何人都可以告诉我如何实现这个目标

1 个答案:

答案 0 :(得分:0)

我假设您的目录结构如下:

-+- dir1
 |   |
 |   +- execute.py
 |
 +- dir2
 |   |
 |   +- execute.py
 |
 +- __init__.py
 |
 +- suite.py

解决方案

如果我的假设是正确的并且您的目录结构与上面提到的相匹配,那么您可以在__init__.pydir1目录中放置空dir2个文件,然后在{{1}内执行你想要的文件:

suite.py

这将导入两个from dir1 import execute as execute1 from dir2 import execute as execute2 个文件,这意味着它们将被执行。要再次执行已导入的模块,只需在表示模块的变量上使用execute.py(例如reload())。

说明

reload(execute1)放在__init__.pydir1目录中所做的是,您告知Python dir2dir1都应被视为模块。因为它们是模块,所以您只需导入它们的子模块(最初都命名为dir2,因此我以更加明显的方式命名它们。)

有帮助吗?