【发布时间】:2019-02-20 22:58:23
【问题描述】:
以下测试:
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
此消息没有告诉您名称的值是什么,所以信息量不大,为什么?
【问题讨论】:
标签: python automated-tests tdd pytest assert