在 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