我已经阅读了文档,但我仍然对使用Python进行修补感到困惑。我有一个def update_contact(name, phone, address, company, title, contact_id):
contact = Contact(contact_id)
set_contact_fields(contact, name, phone, address, company, title)
return contact.update()
def set_contact_fields(contact, name, phone, address, company, title):
contact.name(name)
contact.phone(phone)
contact.address(address)
contact.company(company)
contact.title(title)
课,我写了以下函数:
Contact(contact_id)
因此Contact
用contact_id
抓取set_contact_fields
对象。然后contact.update
设置相应的字段。最后,patch
保存了这些更改(这是一个API调用)。
我现在想要对update_contact进行单元测试,以确保它将旧字段值更改为新字段值,但我有点不确定如何解决这个问题。
从@patch.object(Contact, 'update')
@patch.object(Contact, 'name')
@patch.object(Contact, 'phone')
@patch.object(Contact, 'address')
@patch.object(Contact, 'company')
@patch.object(Contact, 'title')
def test_update_contact(self, update, name, phone, address, company, title):
contact = Contact()
update_contact('name', 'phone', 'address', 'company', 'title', contact)
# check that update was called with...
name.assert_called_once_with('name')
phone.assert_called_once_with('phone')
address.assert_called_once_with('address')
company.assert_called_once_with('company')
title.assert_called_once_with('title')
update.assert_called_once_with()
文档中,我可能会执行以下操作:
WebDriver
不幸的是,这个测试失败了。我不知道我哪里出错了;帮助
谢谢!