gpt4 book ai didi

python - python - 如何使python单元测试在从不同的工作目录运行时始终找到测试数据文件?

转载 作者:IT老高 更新时间:2023-10-28 20:55:48 26 4
gpt4 key购买 nike

这是一个关于测试环境设置的问题。

在我的项目中,我有一些访问测试数据文件的单元测试。这些单元测试可以通过测试运行器从我的项目目录运行。或者我可以单独运行每个测试文件/模块,例如出于调试目的。

问题在于,根据我运行测试的位置,当前目录会有所不同。因此,当从项目目录运行这些文件时,如下所示,通过提供相对于当前目录的路径来打开测试数据文件将不起作用,因为测试数据文件不在该目录中。

f = open('test_data.ext', 'r')

我想过使用 __file__ 来使用相对于当前测试模块的路径,但是这个 doesn't work when the test module calling __file__ is the one being run individually .

人们通常如何解决这个问题?

最佳答案

我想到了许多不同的方法:

  1. 为您的数据目录设置环境变量
  2. 编写一个始终导入的小模块,其唯一目的是相对于数据目录具有固定位置,然后从那里调用 __file__
  3. 在运行时生成数据
  4. 将数据存储在数据库而不是文件中
  5. 将数据存储在文件系统中的固定位置,而不是相对于包的位置
  6. 不要直接运行测试代码

最适合您的解决方案取决于您的环境以及您的特定数据和程序。

关于python - python - 如何使python单元测试在从不同的工作目录运行时始终找到测试数据文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14361503/

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