assertEqual(a, b) # checks that a == b
assertIs(a, b) # checks that a is b
解决方法:
使用assertEqual这两个对象不需要是同一类型,它们只需要是相同的值.相比之下,使用assertIs,两个对象需要是同一个对象.
断言的assertEqual测试,如==运算符:
The operators , ==, >=, <=, and != compare the values of two objects. The objects need not have the same type. If both are numbers, they are converted to a common type. Otherwise, objects of different types always compare unequal, and are ordered consistently but arbitrarily.
assertI测试对象标识与is相同而不是运算符:
The operators is and is not test for object identity: x is y is true if and only if x and y are the same object. x is not y yields the inverse truth value.
以上引用均来自Python文档部分5.9 Comparisons.
标签:python,unit-testing
来源: https://codeday.me/bug/20191008/1870437.html