3
我的模型有一個方法可以從遠程資源更新模型中的幾個屬性。我想用Rspec來測試,但是無法找到如何測試字段是否被創建或更新。Rspec測試是否更新了屬性
一些僞代碼來解釋這個問題
def update_from_remote
attributes = {}
fields.each_key do |field_name|
attributes[field_name] = scrape_from_remote field_name
end
update_attributes(attributes)
end
在現實中,這個代碼是一個複雜得多,但只會弄亂我的問題。 A create_from_remote
非常相似,只是它不會調用update_attributes
而只是設置它們,然後保存該對象。
我想測試一下。我想,是測試領域是否更新或填充一個規範:
it 'should fill or set all local attributes on a new profile' do
#how to test if a list of fields were updated in the Database?
end
it 'should update all local attributes on an existing profile' do
#how to test if a list of fields were created in the Database?
end
我使用mongoId,但據我所知,不應該太大的差別。