import pytest
# def test_num():
# assert 1 == 2, "这2个数值不相等" # AssertionError: 这2个数值不相等
#
# # 一般 assert a == b ,左边a是 实际测试结果,右边b 是期望结果
# 2个实例比较,不是比较实例地址,是比较实例的返回值
class Foo(object):
def __init__(self, value):
self.value = value
def __repr__(self):
return str(self.value)
def __eq__(self, other):
return self.value == other.value
def test_foo_compare():
print("----开始执行test_foo_compare----")
f1 = Foo(1)
f2 = Foo(2)
assert f1 == f2
去掉 test_num()的注释,执行后观察报错信息:
Actual :1
<Click to see difference>
def test_num():
> assert 1 == 2, "这2个数值不相等" # AssertionError: 这2个数值不相等
E AssertionError: 这2个数值不相等
E assert 1 == 2
红色字体就是 断言对应的自定义说明
另外,对于 test_foo_compare,比较2个对象是否一致,一般都不是比较对象地址,是比较对象的具体属性,可以推荐使用 test_foo_compare