模型创建的Rspec测试

时间:2018-05-31 05:20:19

标签: ruby-on-rails rspec

这是我第一次编写测试用例。我有模型,我正在做一个回调来为另一个模型创建一个对象。

class Model1
 after_save :create_model2_object

 def create_model2_object
  Model2.create(id: self.id, name: self.name) 
 end
end

我写的测试用例如下:

model1_spec.rb

require 'rails_helper'
RSpec.describe Model1, type: :model do
  context 'validation tests' do
     it 'ensures article attrs presence' do
        page = Model2.create(entity: self.id, name: self.name)
        expect(page).to eq(true)
     end
  end
end

当我运行它时,开发和测试数据都变为空。我知道我做的事情完全错了。有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

require 'rails_helper'
RSpec.describe Model1, type: :model do
  context 'validation tests' do
     it 'ensures article attrs presence' do 
         expect{Model1.create(entity: "entity_id", name: 'name')}.to change{Model2.count}.by(1)
     end
  end
end