【发布时间】:2020-05-29 06:38:52
【问题描述】:
我有一个 Python 项目结构如下。
. ├── 数据 ├── 源 │ ├── 模块1 │ └── 模块2 └── 测试 ├── 基地 ├── 模块1 └── 模块2data 目录是我放置用于单元测试的模拟数据(例如 CSV 文件)的位置。如果我在 PyCharm 中,在单元测试中,我可以使用如下的相对路径并使用 IDE 成功运行单元测试(使用unittests)。
pd.read_csv('../../data/mock.csv')
但是,在 PyCharm 之外,我可以尝试运行以下命令来运行单元测试。
python -m unittest tests/module1/*.py
我会收到一条错误消息,指出该文件不存在。如果我如下更改路径,则从 PyCharm 外部运行单元测试有效,但在 PyCharm 中运行测试失败。
pd.read_csv('./data/mock.csv')
当我检查单元测试配置时,我注意到working directory 设置为/Users/myusername/myproject/tests/module1。如果我将工作目录更改为/Users/myusername/myproject,则会收到以下错误:AssertionError: Path must be within the project。
我什至尝试将data 目录移动到tests > module1,但同样的冲突仍然存在;现在 pd.read_csv('./data/mock.csv') 适用于 PyCharm,但在终端上失败了。
关于如何解决这个冲突的任何想法?
【问题讨论】:
标签: python unit-testing pycharm