在 Python 中编写单元测试
Writing unit tests in Python
我有一个任务,其中我有一个包含一些示例数据的 csv 文件。任务是在应用一些数据验证规则后,将 csv 文件中的数据转换为其他格式,如 JSON、HTML、YAML 等。
现在我还应该在 pytest 或 Python 中的 unittest 模块中为此编写一些单元测试。
我的问题是,由于我要将它们转换为不同的 JSON/HTML 文件,我该如何实际编写单元测试?我是否应该准备一些示例文件,然后在我的单元测试中与它们进行比较。
我认为只能使用 unittest 测试任务中的数据验证部分,而不是创建不同格式的文件,对吗?
任何想法都会非常有帮助。
提前致谢。
您应该进行功能测试,以便测试从 csv 文件到最终结果的整个管道,但单元测试是关于检查各个步骤是否有效。
例如,你能正确读取一个csv文件吗?当您不提供 csv 文件时,是否会按预期失败?你能检查每个验证单元吗?他们在应该失败的时候失败了吗?他们传递的是有效数据吗?
当然,结果也要经过检验。从已知的内部表示开始,得到的 json 有效吗?它是否包含所有必需的数据? yaml 也一样,HTML。您不应该测试格式,而应该真正测试输出的内容以及它是否正确。
您应该始终在工作流程的每个步骤中测试有效数据是否通过,而不正确数据是否通过。
我有一个任务,其中我有一个包含一些示例数据的 csv 文件。任务是在应用一些数据验证规则后,将 csv 文件中的数据转换为其他格式,如 JSON、HTML、YAML 等。
现在我还应该在 pytest 或 Python 中的 unittest 模块中为此编写一些单元测试。
我的问题是,由于我要将它们转换为不同的 JSON/HTML 文件,我该如何实际编写单元测试?我是否应该准备一些示例文件,然后在我的单元测试中与它们进行比较。
我认为只能使用 unittest 测试任务中的数据验证部分,而不是创建不同格式的文件,对吗?
任何想法都会非常有帮助。
提前致谢。
您应该进行功能测试,以便测试从 csv 文件到最终结果的整个管道,但单元测试是关于检查各个步骤是否有效。
例如,你能正确读取一个csv文件吗?当您不提供 csv 文件时,是否会按预期失败?你能检查每个验证单元吗?他们在应该失败的时候失败了吗?他们传递的是有效数据吗?
当然,结果也要经过检验。从已知的内部表示开始,得到的 json 有效吗?它是否包含所有必需的数据? yaml 也一样,HTML。您不应该测试格式,而应该真正测试输出的内容以及它是否正确。
您应该始终在工作流程的每个步骤中测试有效数据是否通过,而不正确数据是否通过。