2011-11-16 6 views
0

필자는 오래된 레일즈 2.3.8에서 어떤 테스트도하지 않고 있으며, rspec을 사용하는 테스트를 어플리케이션에 추가하려고합니다.레일 2.3.8 기계공 미정 방법은?

rspec 1.3.0 & 1.3.2를 설치하고 생성기 스크립트를 실행했습니다.

require 'machinist/active_record' 
require 'sham' 

을 /spec/blueprints.rb하려면 다음과 다음 줄은

require File.expand_path(File.dirname(__FILE__) + "/blueprints") 

나 '를 spec_helper.rb에 추가 https://github.com/notahat/machinist/tree/1.0-maintenance

:

나는의 지시에 따라 내 사용자를위한 청사진을 만들었으며 'User.make!'를 사용하려고 시도했습니다. 나는 레일 2.x에서 응용 프로그램을 감동 한 이후 시간이 지났는데

def login_user 
    user = User.make! 
    @request.session[:user_id] = user.id 
    @current_user ||= User.find_by_id(user.id) 
end 

: 여기

NoMethodError in 'CategoriesController As a logged in user#index should render index' 
undefined method `make!' for #<Class:0x7f42b9deea10> 

내 spec_helper 방법입니다 : (로그인 방법 내에서) 내 사양 도우미에서이 오류를 얻을 수 어쩌면 여기서 뭔가를 놓칠 수도 있습니다.

답변

0

해결 :

나는 make를 사용하지 않아야합니다! 기계공

의 이전 버전에서 나는 내 청사진을로드합니다 있는지 확인하기 위해 기계 기술자에 대한 약간의 테스트를 작성 결국 내가 덜 복잡 모델, 즉 선택 : 하나의 유효성 검사를하지 (10)

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

이 방법이 효과적이기 때문에 대부분 유효성 검사 및 작은 구문 오류와 관련이 있습니다.

관련 문제