Rspec2를 사용하여 Sinatra 앱을 테스트하려고하는데 테스트에서 세션이나 도우미 메소드에 액세스 할 수 없습니다.Sinatra + Rspec2 - 세션/헬퍼를 사용 하시겠습니까?
spec_helper :
require File.dirname(__FILE__) + "/../myapp.rb"
require 'rubygems'
require 'sinatra'
require 'rack/test'
require 'rspec'
require 'factory_girl'
set :environment, :test
RSpec.configure do |conf|
conf.include Rack::Test::Methods
end
def app
Sinatra::Application
end
app_spec.rb :이 세션 변수를 찾을 수없는 오류가 발생합니다
require File.dirname(__FILE__) + "/../spec_helper.rb"
describe 'Something' do
it "should do something" do
session["aa"] = "Test"
end
end
. 마찬가지로 내 애플 리케이션에 정의 된 도우미 메서드를 사용할 수 없습니다.
rspec specs/app_spec/app_spec.rb
을 사용하여 테스트를 실행합니다.
내가 뭘 잘못하고 있니?
감사합니다. spec_helper.rb 파일이 올바르게 포함되어 있습니다 (정의 된 다른 항목에 액세스 할 수 있습니다). 문제는 아닙니다. 나는 모듈 스타일을 사용하지 않는다. 다른 아이디어? – Pogopuschel
'include Rack :: Test :: Methods' 및 앱 선언을 스펙으로 옮겨보고 작동하는지 확인하려고합니다. 먼저 다른 종류의 테스트를 시도해 볼 수도 있습니다. 세션에 들어가기보다는 작동하는지 확인하고, 제 편집을보십시오. – iain
btw, Rack :: Test를 사용하여 구현 한 것 (얼굴 손바닥 만!)은 실제로 통합 테스트 용이므로 헬퍼 또는 세션에 직접 액세스하지 않습니다. 테스트 도우미에 대한이 게시물 읽기 http://japhr.blogspot.com/2009/03/sinatra-innards-deletgator.html – iain