Rails 2.3.8 машинист не определен метод make?
Я работаю над старым Rails 2.3.8, который не имеет никакого тестирования, и я пытаюсь добавить некоторые тесты, используя rspec с machinist для приложения.
Я установил rspec 1.3.0 и 1.3.2 и запустил скрипт генератора.
Я следовал инструкциям на: https://github.com/notahat/machinist/tree/1.0-maintenance
Добавление следующего в /spec/blueprints.rb
require 'machinist/active_record'
require 'sham'
И следующая строка в spec_helper.rb
require File.expand_path(File.dirname(__FILE__) + "/blueprints")
Я создал план для своего пользователя, и когда я пытаюсь использовать "User.make!" в моем помощнике спецификации (в методе входа в систему) я получаю эту ошибку:
NoMethodError in 'CategoriesController As a logged in user#index should render index'
undefined method `make!' for #<Class:0x7f42b9deea10>
Вот мой метод spec_helper:
def login_user
user = User.make!
@request.session[:user_id] = user.id
@current_user ||= User.find_by_id(user.id)
end
Прошло много времени с тех пор, как я прикоснулся к приложению Rails 2.x, поэтому, может быть, я что-то здесь упускаю.
1 ответ
Решено:
Я не должен использовать make! в этой старой версии машиниста
Я закончил тем, что написал небольшой тест для машиниста, чтобы посмотреть, загрузит ли он мои чертежи, и я выбрал модель, которая менее сложна, то есть: одна проверка, а не 10.
describe "machinist" do
it "should create a category" do
category = Category.make
category.name.should == "General"
end
end
Это сработало, так что в основном это было связано с проверками и небольшими синтаксическими ошибками.