【发布时间】:2012-09-30 14:05:36
【问题描述】:
在编写测试用例时,我经常需要断言两个列表包含相同的元素,而不考虑它们的顺序。
我一直在通过将列表转换为集合来做到这一点。
有没有更简单的方法来做到这一点?
编辑:
正如@MarkDickinson 指出的,我可以使用TestCase.assertItemsEqual。
注意TestCase.assertItemsEqual 是 Python2.7 中的新内容。
如果您使用的是旧版本的 Python,则可以使用 unittest2 - Python 2.7 新功能的反向移植。
【问题讨论】:
-
比
set(x) == set(y)简单吗?你能简单到什么程度? -
@cdhowie:当列表中有冗余元素时,这将失败。
-
@inspectorG4dget 从最初的问题中不清楚这是否应该是一个失败案例。
-
如果你是单元测试,
TestCase.assertItemsEqual有什么问题? -
@MarkDickinson “不考虑他们的订单”。
标签: python unit-testing