如何把一些数据我RSpec的测试之前,

问题描述 投票:0回答:1

IM我的控制器上测试创建方法。新实体的创建需要另一个实体在数据库中已经存在。所以我需要外键之前,我可以插入任何东西。我努力了

job = Job.create(:client_id => 1, :title => "Title", :date => Time.now, 
   :number_of_workers => 10, :venue => "Somewhere")

  let(:valid_attributes) {
    {
      worker_id: 1,
      job_id: 1,
      salary: 120.0
    }
  }

  let(:valid_session) { {} }

  describe "GET index" do
    it "assigns all hours ad @hours" do
      hour = Hour.create! valid_attributes
      get :index, {}, valid_session
      expect(assigns(:hours)).to eq([hour])
    end
  end

这工作,但它打破了另一项测试,因为现在我的填充作业表中。我如何可以创建只在本次测试这份工作? (我看着database_cleaner宝石,但我想避免这种情况)

我试图移动任务的生成到每个组,但随后的变量是不可访问。

ruby-on-rails-3 rspec-rails
1个回答
0
投票

卫生署!使用实例变量,并把它们的前环像这里面:

before(:each) do
    http_login

    @job = Job.create(:client_id => 1, :title => "Title", :date => Time.now, :number_of_workers => 10, :venue => "Somewhere")
  end

我想这是所有在交易中再

© www.soinside.com 2019 - 2024. All rights reserved.