在我的“通知”模型中,我有一个方法(通知和联系模型都有并且属于很多):
`def self.update_contact_association(contact, notification)
unless contact == nil
notification.contacts.clear
c = Contact.find(contact)
notification.contacts << c
end
end`
更新特定通知和联系人之间的关联。它需要一个通知对象(行)和一个联系人 ID 列表。该方法工作正常,给定一个联系人 id 1 和一个 id 为 4 的通知更新表应该并且将如下所示:
notification_id contact_id
4 1
尝试编写单元测试以正确测试此方法时出现问题。到目前为止,我有:
'test 'update_contact_association' do
notification = Notification.find(4)
contact = Contact.find(1)
Notification.update_contact_association([contact.id], notification)
'end
运行测试方法不会导致错误,但是测试数据库没有更新为与上面的示例一样,它只是空白。我很确定我需要使用保存或更新方法来模仿控制器正在做什么,但我不确定如何。我只需要单元测试来正确更新表格,这样我就可以继续编写我的断言了。任何想法都将不胜感激,因为我需要测试几种与此非常相似/相同的方法。