python - 用 Python 编写单元测试
问题描述
我有一个任务,其中我有一个包含一些示例数据的 csv 文件。任务是在应用一些数据验证规则后,将 csv 文件中的数据转换为其他格式,如 JSON、HTML、YAML 等。
现在我还应该在 pytest 或 Python 中的 unittest 模块中为此编写一些单元测试。
我的问题是我如何实际为此编写单元测试,因为我将它们转换为不同的 JSON/HTML 文件?我是否应该准备一些示例文件,然后在我的单元测试中与它们进行比较。
我认为只能使用 unittest 测试任务中的数据验证部分,而不是创建不同格式的文件,对吗?
任何想法都会非常有帮助。
提前致谢。
解决方案
您应该进行功能测试,因此测试从 csv 文件到最终结果的整个管道,但单元测试是关于检查各个步骤是否有效。
例如,您可以正确读取 csv 文件吗?当您不提供 csv 文件时,它是否会按预期失败?你能检查每个验证单元吗?他们在应该失败的时候失败了吗?他们是否传递了有效数据?
当然,结果也必须经过测试。从已知的内部表示开始,生成的 json 是否有效?它是否包含所有必需的数据?yaml、HTML 也是如此。您不应该测试格式,而是真正输出什么以及它是否正确。
您应该始终在工作流程的每个步骤中测试有效数据是否通过,而错误数据是否通过。
推荐阅读
- node.js - 如何正确命中 POST 端点
- html - 如何将导航栏与 html 页面的右侧对齐?
- javascript - Javascript - 按对象数组中的数据分组
- python - TF/Keras:如何堆叠模型
- javascript - 手机上的超时嵌入式预订表格
- ios - 如何快速删除句子中的第一个单词
- javascript - 在 React 中有条件地声明一个状态
- c# - 如何使用 Selenium for C# 通过 XPath 查找文本?
- c - 如何在C程序中打开文件?
- javascript - 即使设备时间错误,如何使用 Javascript 获取国家/地区的实际日期和时间?