Rspec - 无法识别保存功能

时间:2014-02-06 07:13:03

标签: ruby-on-rails rspec capybara

像以前一样有效的“保存”这样的基本数据库方法已不再适用,我找不到解决原因的现有问题。

运行bundle exec rails spec /抛出nil的未定义保存:许多位置的Nilclass错误。

  

c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:242:在'module_eval'中   c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:242:在'subclass'中   c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:228:in'reet   等等...

可能是由于宝石版本不匹配吗?

我使用postgresql的测试和开发数据库是最新的并完全迁移。

我确保

config.include Capybara::DSL

在我的spec_helper.rb文件中。

user_spec.rb
.
.
.
describe "with mixed case" do
        let(:mixed_case_email) { "FooBaR@GmAIL.CoM" }
        before { @user.email = mixed_case_email }

        describe "should be saved as all lower-case" do
          @user.save
          expect(@user.email).to eq mixed_case_email.downcase               
        end     

        describe "and that's already taken" do
                before { user_with_same_email = @user.dup 
                             user_with_same_email.email
                             user_with_same_email.save }
                describe "should be invalid" do                     
                    it { should_not be_valid }
                end
        end             
.
.
.   

1 个答案:

答案 0 :(得分:0)

“保存”方法与Rspec一起正常工作。它有一些其他问题。

  describe 'Anything goes here ...' do
    before do
      @p = Project.create(:name => 'logtasks')
      @p.save
    end
    it { expect(@p.name).to eq 'logtasks' }
  end