参考 - http://docs.python.org/library/unittest.html#assert-methods
assertEqual(a, b) # checks that a == b
assertIs(a, b) # checks that a is b <---- whatever that means????
答案 0 :(得分:15)
使用assertEqual
两个对象不需要是同一类型,它们只需要是相同的值。相比之下,使用assertIs
两个对象需要是同一个对象。
assertEqual
测试相等性,例如==
运算符:
运算符&lt;,&gt;,==,&gt; =,&lt; =和!=比较两个对象的值。对象不必具有相同的类型。如果两者都是数字,则将它们转换为通用类型。否则,不同类型的对象总是比较不相等,并且一致但是任意地排序。
assertIs
测试与is
和is not
运算符相同的对象标识:
运算符是和不测试对象标识:当且仅当x和y是同一个对象时,x是y才为真。 x不是y产生反向真值。
以上引用均来自Python文档部分5.9 Comparisons。