Python:单元测试/集成测试:文件路径的解决方法?

时间:2019-03-25 22:01:35

标签: python-3.x unit-testing

我需要在项目中运行一些单元测试和集成测试。我面临的问题是,有时会读取文件(作为模拟数据),并且取决于我开始测试的位置,因此必须更改相对路径。

是否存在不更改路径的解决方案,即使测试是从其他目录开始的呢? (例如,在pycharm中,有时是从名为“ tests”的目录中,有时在其他时候,则是从目录“ unit”中)?

例如:

我从“ test”目录在Pycharm中运行测试。在一个单元测试中,我读取了一个路径为“ ../data”的文件。 有时,我从位于“测试”目录中的“单元测试”目录运行测试。现在,我必须从上面调整文件路径,否则找不到我的文件。

1 个答案:

答案 0 :(得分:1)

有几种方法可以解决您描述的问题:

  • 编写一个包装脚本,该脚本在运行测试之前首先将工作目录设置为固定路径。
  • 您可以将环境变量中的绝对路径传递给测试可执行文件。
  • 不是从文件中读取测试数据,而是将测试数据合并到测试代码中。