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

Это сработало, так что в основном это было связано с проверками и небольшими синтаксическими ошибками.

Другие вопросы по тегам