首页 > 解决方案 > 用于验证 json 文件内容的函数的 Pytest

问题描述

我有一个 Python 函数,可以创建并将内容附加到磁盘上的 json 文件中。想用pytest开发测试用例。

json片段:

{
    "pictures": [
        "/home/mywork/pictures/pictures.zip",
        "/home/mywork/pictures/record.json"
    ],
    "lab_results": [
        "/home/mywork/lab_results/lab_results.zip",
        "/home/mywork/lab_results/private/results.json"
    ]
    ....
  }

我应该如何断言磁盘上文件的可用性?我的意思是,jsonvalues是磁盘上的物理文件,如果文件丢失或模式/格式不同,我想抛出错误。

是否有推荐的方法或 pytest 中的任何预可用模块?

标签: pythonpython-3.xpytest

解决方案


最佳实践是模拟文件系统调用并在不接触文件系统的情况下运行测试。

如果你绝对需要对文件系统运行测试,pytest 提供了一个tmp_path夹具来提供一个唯一的临时目录供你在测试期间使用。

然后,您将遵循设置测试环境的基本测试实践,(在这种情况下,将相关文件添加到目录中),触发行为(读取或写入目录中的文件),然后断言事情按预期发生。


推荐阅读