我正在尝试为一段代码编写单元测试,其中包括使用 pandas 从相对路径读取 CSV 文件。目录结构为:
./
./thing1/main.py
./thing1/test_main.py
./thing1/dat/file.csv
./otherthings/...
在main.py
中,我有:
def doThings:
pandas.read_csv('dat/file.csv')
if __name__ == '__main__':
doThings()
中test_main.py
,我有
class TestMain:
def setup(self):
doThings()
def test_thing(self):
pass # there's other logic in here
如果我运行,一切正常main.py
,但是当我要求 Anaconda“运行项目测试”时,我收到一个 IOError 抱怨 'dat/file.csv' 不存在。这与它是相对路径这一事实有关,因为当我将其更改为 时/home/user/.../thing1/dat/file.csv
,它可以工作。有没有一种方法可以在保持相对路径的同时使单元测试工作?