Это продолжение после завершения учебника по Ruby on Rails.
Я потратил довольно много времени, пытаясь смешивать и сопоставлять гемы, чтобы найти решение, поскольку я действительно не знаю, как 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