2013-08-10 4 views
10

मैं अगर सत्र चर सही ढंग से बदल गया था एक परीक्षण rspec कि परीक्षण का उपयोग कर लिखने के लिए कोशिश कर रहा हूँ:कैसे rspec के माध्यम से परीक्षण करने के लिए है कि सत्र चर नियंत्रक में अद्यतन

यह GamesController का हिस्सा है मैं परीक्षण करना चाहते हैं: जब मैं परीक्षण चलाने

require "spec_helper" 

describe GamesController do 
describe "#change_player" do 
    it "should change player to 1" do 
    session[:player] = 0 

    get :change_player 

    assigns(session[:player]).should == 1 
    end 
end 
end 

यह मैं त्रुटि संदेश है:

def change_player 
    if session[:player] == 0 
    session[:player] = 1 
    else 
    session[:player] = 0 
    end  
end 

यह मेरा game_spec.rb फ़ाइल है

Failures: 

    1) GamesController#change_player should set player to 0 
    Failure/Error: session[:player] = 0 
    NameError: 
     undefined local variable or method `session' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x00000103b3b0d8> 
    # ./spec/features/game_spec.rb:6:in `block (3 levels) in <top (required)>' 

Finished in 0.01709 seconds 
1 example, 1 failure 

Failed examples: 

rspec ./spec/features/game_spec.rb:5 # GamesController#change_player should set player to 0 

धन्यवाद

उत्तर

4

समस्या यह है कि rspec पता नहीं है कि यह एक नियंत्रक परीक्षण है (spec/controllers फ़ोल्डर में नहीं है)

आप निर्दिष्ट करने की आवश्यकता है कि

describe GamesController, :type => :controller do 
    ... 
end 
संबंधित मुद्दे

 संबंधित मुद्दे