在Python中修补时感到困惑

时间:2016-06-13 17:29:14

标签: python unit-testing

我已经阅读了文档,但我仍然对使用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)

因此Contactcontact_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

不幸的是,这个测试失败了。我不知道我哪里出错了;帮助

谢谢!

0 个答案:

没有答案