我有一个方法可以做到这一点:
给定一个标记数组,如果它存在,它会尝试从数据库中获取其名称,否则会创建一个新标记。然后它返回所有标记对象的集合。
tag_text = "general tag1 tag2"
Tag.rb模型有一个名称属性,如果存在,它将在数据库中。
我应该如何测试方法:
def find_tags_from_tag_text (tag_text)
tags = []
tag_text.split.each do |x|
t = Tag.find_by_name(x)
if t.nil?
t = Tag.new(name => x).save!
end
tags << t
end
end
答案 0 :(得分:0)
Rails测试指南http://guides.rubyonrails.org/testing.html几乎涵盖了您要做的事情,您是否已将其检出? TL; DR:1)准备夹具 - 用于初始化空白测试数据库的数据,2)编写测试以将实际结果与模型方法的预期结果进行比较。