以下测试:
def test_something():
assert "ddd" == "pepe"
使用pytest运行时会显示以下错误消息:
E AssertionError: assert 'ddd' == 'pepe'
E - ddd
E + pepe
但是,如果我们将assert方法移动到另一个文件
assertion.py
class CustomerAssertor(object):
def __init__(self,name):
self.name =name
def assert_name(self,expected):
assert self.name ==expected
我们把测试改为:
from sql_gen.test.utils.assertion_util import CustomerAssertor
def test_something():
CustomerAssertor("ddd").assert_name("pepe")
现在我得到以下错误:
self = <assertions.CustomerAssertor object at 0x7fbcc3d31588>, expected = 'pepe'
def assert_name(self,expected):
> assert self.name ==expected
E AssertionError
这条消息没有告诉你名字的价值是什么,那么信息量就少了,为什么?