进行python包的集成测试

时间:2018-02-28 23:18:00

标签: python-3.x integration-testing packages python-module

我有一个包,我希望能够从另一个包或不在同一目录中的测试模块进行测试。例如,我有一个以下结构的目录......

Project/
|-- bin/
|   |-- project
|-- project/
|   |-- subpackage1/
|   |   |-- __init__.py
|   |   |-- foo1.py
|   |   |-- foo2.py
|   |-- subpackage2/
|   |   |-- __init__.py
|   |   |-- bar1.py
|   |   |-- bar2.py
|   |-- __init__.py
|   |-- main.py
|-- test/
|   |-- __init__.py
|   |-- test_main.py
|   |-- test_subpackage1/
|   |   |-- __init__.py
|   |   |-- test_foo1.py
|   |   |-- test_foo2.py
|   |-- test_subpackage2/
|   |   |-- __init__.py
|   |   |-- test_bar1.py
|   |   |-- test_bar2.py
|-- setup.py
|-- README

我的test/test_main.py想要使用project.subpackage1.bar1类来测试项目代码。但是,当我执行import project.subpackage1.bar1时,我收到错误消息

Traceback (most recent call last):
File "/home/Project/test/test_main.py", line 1, in <module> import project.subpackage1.bar1
ImportError: No module named project.subpackage1.bar1

我听说你可以添加

import sys
sys.path.append("../")

但即便如此,我也会得到同样的错误。有没有办法在项目包的目录之外使用测试包?除此之外,这是进行集成测试的正确方法吗?

0 个答案:

没有答案