使用RSpec“其”功能时遇到麻烦

时间:2011-09-20 04:00:36

标签: ruby-on-rails ruby ruby-on-rails-3 rspec rspec2

我正在使用Ruby on Rails 3.0.9,RSpec-rails 2和FactoryGirl。我试图在关联模型上使用RSpec its功能(在下面的示例中它是:account)但我遇到了一些麻烦。

在我的spec文件中,我有:

describe User do
  describe "Associations" do
    let(:user) { Factory(:user, :account => Factory.build(:users_account)) }

    it { should respond_to(:account) }  # This work correctly

    its(:account) { should_not be_nil } # This does NOT work correctly (read below for more information)
  end
end

如果我运行上面的代码,我会收到以下错误:

Failure/Error: its(:account) { should_not be_nil }
  expected: not nil
    got: nil

如何使上述代码正常工作以正确使用RSpec its功能?

1 个答案:

答案 0 :(得分:1)

你在(:users_account)之后错过了一个')'。

除此之外,我不确定,但你可以尝试使用主题,而不是像在,

 subject { Factory.build(:user, :account => Factory.build(:users_account)) }