Unittest的assertEqual和iterables - 只检查内容

12 浏览
0 Comments

Unittest的assertEqual和iterables - 只检查内容

在unittest中,有没有一种“合适”的方法来检查两个可迭代对象的内容是否相等?

我经常使用元组、列表和numpy数组,通常只想测试内容而不是类型。目前我只是简单地进行类型转换:

self.assertEqual (tuple (self.numpy_data), tuple (self.reference_list))

我曾经使用过这个列表推导式:

[self.assertEqual (*x) for x in zip(self.numpy_data, self.reference_list)]

但是这种解决方案似乎比类型转换稍逊一筹,因为它只打印单个值(如果失败的话),而且它不会因为参考数据和实际数据的长度不同而失败(因为zip函数的原因)。

0