Python单独测试包

时间:2017-10-17 19:01:08

标签: python unit-testing package

我有这样的事情:

/proj
├───docs
├───generated_data
├───sql_generator
│   ├───blocks
│   ├───generators
│   ├───models
│   ├───refs
│   │   ├───custom
│   │   │   └───__pycache__
│   │   └───tables
│   └───utils
└───tests

如何包含sql_generator来运行测试。我想包括sql_generator.blocks,模型等。

这些方面的东西: https://github.com/joke2k/faker/tree/master/tests

如果我运行python setup.py test之类的东西,则无法导入包。

导入模块时,我还指定了相关的所有内容。例如,在块中,我有 init 来导入所有模块,它可能看起来像:

from .block import Block
from .person import PersonBlock

当我运行sql_generator包时,一切正常,但是当我尝试在sql_generator包之外运行测试时,它将无法导入。

我试过了:

from sql_generator import blocks

from .. import blocks

1 个答案:

答案 0 :(得分:0)

看起来__init__.py内没有sql_generator文件,因此它不会被视为目录之外的可导入模块。尝试将该文件添加到目录中,然后您应该能够import sql_generator等。