0

私はテストがない古い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アプリに触れてからしばらく経ちましたので、ここで何かが足りないのかもしれません。

4

1 に答える 1

0

解決済み:

makeを使うべきではありません!この古いバージョンの機械工では

結局、機械工が設計図をロードするかどうかを確認するための小さなテストを作成し、より複雑でないモデルを選択しました。つまり、検証は10ではなく1つです。

describe "machinist" do
  it "should create a category" do
    category = Category.make
    category.name.should == "General"
  end
end

これは機能したので、主に検証と小さな構文エラーに関係していました。

于 2011-11-17T00:46:39.153 に答える