0

我通过嵌套表单同时创建两个模型,并希望使用此工厂测试功能:

factory :company do
  name "ACME"
  after(:build) do |company|
    company.users << FactoryGirl.build(:user, company: company)       
  end       
end

factory :user do
  first_name     "Foo"
  last_name      "Bar"
  email          "foo@bar.com"
  password       "foobar"
  password_confirmation "foobar"
  company  
end

现在我在 RSPEC 中创建了一家公司,例如

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

并进行类似的测试

it { should have_title(user.first_name) }

我想从用户的模型中获取用户的名字。现在我只能在 RSPEC 中访问公司的模型。

如何获取用户模型的属性?

4

1 回答 1

0

首先,您必须创建用户,但您只能在没有保存的情况下进行构建:

company.users << FactoryGirl.create(:user)

或者

FactoryGirl.create(:user, company: company)

接下来,您可以访问用户名,例如(如果公司 has_many :users):

it { should have_title(company.users.first.first_name) }
于 2013-10-21T12:13:01.863 回答