小编sgb*_*ett的帖子

Rails ActiveRecord模型未在RSpec模型规范中更新

这让我疯了.我已经把它剥离到最低限度而不会失去上下文(我想!)

我想要做的就是检查当我更新一个值并将其保存到数据库时,该值已保存.我想这样做是因为我需要编写一些其他代码,这些代码在before_save回调中有条件地阻止了这一点,并且在我确定这个工作之前我无法测试它!

工厂和规格在下面,我确定它真的很愚蠢,但我无法弄明白......

FactoryGirl.define do

  factory :programme do
    name 'Trainee Programme'
  end

  factory :membership do
    programme
  end

  factory :specialty do
    sequence(:name) { |n| "Specialty #{n}" }
  end

  factory :user do
    sequence(:email) { |n| "factorygirl-user-#{n}@remailer.org" }
    password 'password'
    password_confirmation 'password'
    factory :trainee, class: User do
      sequence(:email) { |n| "factorygirl-trainee-#{n}@remailer.org" }
      name 'Factory Girl Trainee'
      after(:create) do |user|
        FactoryGirl.create(:membership, user: user, start_date: 1.day.ago)
      end
    end
  end

end

describe Membership do

  let(:trainee) { FactoryGirl.create(:trainee) }

  it 'sets specialty' do
    puts trainee.current_membership.inspect
    trainee.current_membership.specialty = …
Run Code Online (Sandbox Code Playgroud)

ruby activerecord rspec ruby-on-rails ruby-on-rails-3

1
推荐指数
1
解决办法
1276
查看次数