2011-11-16 75 views
0

我正在做一箇舊的Rails 2.3.8,它沒有任何測試,我正在嘗試使用rspec與機械師對應用程序進行一些測試。Rails 2.3.8 machinist undefined方法make?

我已經安裝了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應用所以也許我在這裏錯過了一些東西。

回答

0

解決:

我不應該用做!在舊版本的機械師

的最後我寫機械師一個小測試,看看它是否會載入我的藍圖,我選擇了一個模型,它是那麼複雜,即:一個驗證不是10

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

這工作,所以主要是與驗證和小的語法錯誤。