`subject':错误的参数个数(1表示0)(ArgumentError)使用Capybara

时间:2012-09-11 02:37:12

标签: ruby-on-rails-3 rspec capybara specifications

我只是想测试我的用户模型。

错误来自测试此位。

describe User do
  before do 
    @user = User.new(email: "foo@bar.com", password:"foobar",
                 password_confirmation:"foobar", goal:"cut")
  end

  subject( @user )    
  .
  .
  .

这是确切的错误:

rspec-core-2.10.1/lib/rspec/core/subject.rb:180:in `subject': wrong number of arguments (1 for 0) (ArgumentError)

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

在rspec 2.10.1中,subject()不允许任何参数。见http://rubydoc.info/gems/rspec-core/2.10.1/RSpec/Core/Subject/ExampleGroupMethods#subject-instance_method

我相信你确实希望将@user作为一个块传递,所以:

subject{ @user }

注意{}而不是()。