私はテストがない古いRails2.3.8に取り組んでおり、機械工と一緒にrspecを使用してアプリにいくつかのテストを追加しようとしています。
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アプリに触れてからしばらく経ちましたので、ここで何かが足りないのかもしれません。