python - 用于验证 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 中的任何预可用模块?
解决方案
最佳实践是模拟文件系统调用并在不接触文件系统的情况下运行测试。
如果你绝对需要对文件系统运行测试,pytest 提供了一个tmp_path
夹具来提供一个唯一的临时目录供你在测试期间使用。
然后,您将遵循设置测试环境的基本测试实践,(在这种情况下,将相关文件添加到目录中),触发行为(读取或写入目录中的文件),然后断言事情按预期发生。
推荐阅读
- c - 分段错误:尝试打印链表时出现 11
- ios - React Native Upload to IOS Deployment Error Correct Bundle Identifier
- shopify - 从应用程序更改变量显示,从字符串更改为在 Liquid 中保存为整数
- python - Python列表副本 - 困惑
- parsing - influxdb.exceptions.InfluxDBClientError_"error":"unable to parse_invalid boolean
- jenkins-groovy - 在 Jenkins 上的 Groovy 中重新启动 Windows 计算机
- javascript - 如何重新启动程序重新开始?
- c++ - 绘图时如何使 ID2D1SolidColorBrush 替换而不是混合颜色?
- android - 一段时间后,Flutter 应用程序未在 IOS 设备上加载
- c++ - 在主函数之上定义命名空间函数会导致内联函数吗?