.
âââ data
âââ src
â  âââ module1
â  âââ module2
âââ tests
âââ base
âââ module1
âââ module2
这个
data
目录是我把模拟数据放在单元测试中使用的地方(例如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
我甚至试着移动
数据
目录到
tests > module1
,但同样的冲突仍然存在;现在
pd.read_csv('./data/mock.csv')
有什么办法解决这个矛盾吗?