在 python 中测试非导出方法
testing non-exported methods in python
我的代码是这样组织的:
app/sampling
├── __init__.py
├── filters.py
└── test
└── filters_test.py
在 filters.py
上有一些导出函数(包含在 __init__.py
中)和一些未导出的函数,它们以下划线开头。
在 filters_test.py
我可以毫无问题地测试导出的函数,我可以这样访问:
from app.sampling import exported_function
(注意 "app" 是我的 PYTHONPATH 的一部分)
但是如果我尝试像这样导入私有函数:
from ..filters import _private_function
这似乎有效,但在运行时:
SystemError: Parent module '' not loaded, cannot perform relative import
补充说明:
- 我正在使用鼻子进行 运行 测试
- 如果可能我想保留文件夹结构
从app.sampling.filters导入_private_function
我的代码是这样组织的:
app/sampling
├── __init__.py
├── filters.py
└── test
└── filters_test.py
在 filters.py
上有一些导出函数(包含在 __init__.py
中)和一些未导出的函数,它们以下划线开头。
在 filters_test.py
我可以毫无问题地测试导出的函数,我可以这样访问:
from app.sampling import exported_function
(注意 "app" 是我的 PYTHONPATH 的一部分)
但是如果我尝试像这样导入私有函数:
from ..filters import _private_function
这似乎有效,但在运行时:
SystemError: Parent module '' not loaded, cannot perform relative import
补充说明:
- 我正在使用鼻子进行 运行 测试
- 如果可能我想保留文件夹结构
从app.sampling.filters导入_private_function