我在rails中有一个导入控制器,可以将多个csv文件和多条记录导入我的数据库.我想在RSpec中测试这些记录是否通过使用RSpec保存:
<Model>.any_instance.should_receive(:save).at_least(:once)
然而,我得到的错误是:
The message 'save' was received by <model instance> but has already been received by <another model instance>
控制器的人为示例:
rows = CSV.parse(uploaded_file.tempfile, col_sep: "|")
ActiveRecord::Base.transaction do
rows.each do |row|
mutation = Mutation.new
row.each_with_index do |value, index|
Mutation.send("#{attribute_order[index]}=", value)
end
mutation.save
end
是否可以使用RSpec测试这个问题,或者是否有任何解决方法?