用Python编写单元测试

时间:2018-10-11 15:24:17

标签: python pytest python-unittest

我有一个任务,其中有一个包含一些示例数据的csv文件。该任务是在应用一些数据验证规则后,将csv文件中的数据转换为其他格式,例如JSON,HTML,YAML等。

现在我也应该在pytest或Python的unittest模块中为此编写一些单元测试。

我的问题是,由于我将单元测试转换为不同的JSON / HTML文件,因此我该如何实际编写单元测试?我应该准备一些样本文件,然后在单元测试中与它们进行比较。

我认为只能使用unittest来测试任务中的数据验证部分,而不能创建不同格式的文件吗?

任何想法都会有很大帮助。

谢谢。

1 个答案:

答案 0 :(得分:0)

您应该进行功能测试,以便测试从csv文件到最终结果的整个管道,但是单元测试是关于检查各个步骤是否有效。

例如,您可以正确读取csv文件吗?当您不提供csv文件时,它是否会按预期失败?您可以检查每个验证单元吗?他们应该在什么时候失败?他们在传递有效数据吗?

当然,还必须测试结果。从已知的内部表示形式开始,所得的json有效吗?它包含所有必需的数据吗?与yaml,HTML相同。您不应该测试格式,而应该测试输出的内容以及是否正确。

您应该始终在工作流程的每个步骤中测试有效数据是否通过以及不正确数据是否通过测试。