gpt4 book ai didi

使用相对 pandas 文件路径进行 Python Nose 测试

转载 作者:太空宇宙 更新时间:2023-11-03 16:12:07 25 4
gpt4 key购买 nike

我正在尝试为一段代码编写单元测试,其中包括使用 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 时, 有用。有没有一种方法可以使单元测试工作,同时保持相对路径?

最佳答案

我也有同样的问题。如果你在相对路径上调用 os.path.abspath() ,你会发现绝对路径是错误的。我发现的唯一解决方法是使用 __file__ 将测试文件路径的相对路径更改为绝对路径,然后向上移动一级以排除文件名:

testImgPath = os.path.abspath(os.path.join(__file__, '../', 'testFiles', 'imgName.jpg'))

关于使用相对 pandas 文件路径进行 Python Nose 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39186719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com