我是Rails的新手,我已经完成(我认为)我的rails API,现在我要测试它。 说我有这个模型:
class Child < ActiveRecord::Base
belongs_to :parents
validates :id, presence: true
validates :type, presence: true
validates :parent_id, presence: true
before_create :update_child_if_exists
private
def update_child_if_exists
conditions = {type: self.type, parent_id: self.parent_id}
if existing_measure = Child.find_by(conditions) # or Child.where(conditions).last
new_values = (existing_child.values || []) + [self.values]
existing_measure.update_attribute(:values, new_values)
end
end
end
如果type
和parent_id
的记录已经存在,则用于更新子表中的字段,否则将创建该字段。如何使用RSpec
为此编写测试?
任何帮助都会非常感激,我在这里很丢失。
如果需要任何其他信息,请询问我,我会提供。