我有以下项目结构:
| .gitignore
| README.md
| call_test_outside.py
| main.py
| setup.cfg
| setup.py
|- src
|- PropTools
| __init__.py
| PropTools
| __init__.py
| SQLiteWrapper.py
| dates.py
| prices.py
|- transactions.py
| config
| __init__.py
|- settings.py
|- tests
| __init__.py
|- transactions_tests.py
问题: 当我在
transactions_tests.py
文件夹中运行 tests
时,我得到 ImportError
:
from ..PropTools.transactions import TransactionType, InstrumentType, get_transactions
ImportError: attempted relative import with no known parent package
但是如果我尝试从根文件夹中的
call_test_outside.py
执行相同的操作,它就会起作用。
transactions_test.py
代码(在测试文件夹中):
from ..PropTools.transactions import TransactionType, InstrumentType, get_transactions
print(get_transactions)
call_test_outside.py
代码:
from src.PropTools.tests import transactions_tests
print(transactions_tests.get_transactions)
我如何或应该测试包的开发?
看起来问题是
transactions_tests.py
上面的目录是tests
所以尝试从那里访问PropTools
是行不通的。
希望这有帮助!