これはRuby on Railsチュートリアルを完了した後の続きです。Rspecエラー:未定義メソッド 'change' for end.should change(Model、:count)
私は、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の概念を愛しているけれど、それは私が動作するようにテスト環境を取得しようとしている半分の時間のように思えます。私がどこに間違っているのか誰にでも教えてくれますか?
FURTHER EDIT:
should_not change(Athlete, :count)
へ:
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
私はあなたの郵便物の最初の3行を読んで、手のひらと額は会った。私は仕事からGithubをチェックしましたが、私はすでにこれが答えであることを知っていました。それを指摘してくれてありがとう、Zetetic! –