這是在完成Ruby on Rails教程後的後續。Rspec錯誤:未定義的方法'改變'end.should改變(型號,:計數)
我花了很長時間試圖混合和匹配寶石找到解決方案,因爲我真的不知道Rspec如何無法識別'變化'。
錯誤:「/spec/requests/athletes_spec.rb:20:in
塊(3級):未定義的方法change' for #<Class:0x00000100e715e8> (NoMethodError)
require 'spec_helper'
describe "Athletes" do
before(:each) do
@attr = { :gender => "male",
:age => 20,
:height => 120,
:weight => 100,
:skill => 2
}
@user = Factory(:user)
end
describe "Creating Athletes" do
describe "with the correct user should work" do
lambda do
post :create, :athlete => @attr
end.should_not change(Athlete, :count)
end
end
end
我愛TDD的概念,但它似乎是一半的時間,我試圖讓測試環境中工作。誰能告訴我我要去哪裏?
進一步編輯:
這裏是我的Gemfile:
source 'http://rubygems.org'
gem 'rails', '3.0.4'
gem 'sqlite3-ruby', '1.3.2', :require => 'sqlite3'
gem "will_paginate", "3.0.pre2"
gem 'jquery-rails', '>= 0.2.6'
group :development do
gem 'rspec-rails', '2.5.0'
gem 'annotate-models'
end
group :test do
gem 'factory_girl_rails'
gem 'rspec', '2.5.0'
gem 'webrat'
end
感謝您的幫助,Clemensp,但可悲的是它沒有奏效。 – 2011-02-12 14:38:05
有同樣的問題,也沒有爲我工作。 – 2013-05-14 15:08:24