2012-07-25 13 views
5

मैं यह नहीं समझ सकता कि मेरी सहायक विधि का परीक्षण करते समय कुकी को कैसे सेट किया गया है।मैं एक सहायक स्पेस में कुकीज़ कैसे एक्सेस करूं?

काल्पनिक सहायक विधि:

def my_helper(k,v) 
    cookies[k] = v 
end 

टेस्ट:

it 'should set cookies' do 
    helper.my_helper("foo", "bar") 
    helper.cookies["foo"].should == "bar" #nil 
    helper.response.cookies["foo"].should == "bar" #nil 
end 

किसी को भी ऐसा करने के तरीके पता है?

+0

http://stackoverflow.com/questions/5475989/rspec-setting-cookies-in- ए-हेल्पर-टेस्ट यहां, हमेशा अपना होमवर्क करें! –

+0

मैंने उस पोस्ट को देखा, जैसा कि ओपी का उल्लेख है, वह अभी भी सुनिश्चित नहीं है कि कुकीज़ कैसे _get_ करें। –

+0

rspec दस्तावेज़ों के अनुसार 'response.cookies [" foo "] 'काम करना चाहिए, लेकिन मैं रेल 3.2 और rspec 2.8 पर हूं और यह मेरे लिए काम नहीं करता है। https://www.relishapp.com/rspec/rspec-rails/docs/controller-specs/cookies। जहां तक ​​मैं कह सकता हूं कि आरएसपीईसी, रेल एकीकरण परीक्षण, और रैक के बीच कुछ अजीब चल रहा है जो इसे समझने में मुश्किल बनाता है। – Dty

उत्तर

4

CookieJar के लिए एक सरल rspec नकली स्थानापन्न काम करता है, अगर आप को तैयार हैं करने के लिए:

helper.stubs(:cookies => cookies = mock) 
cookies.expects(:[]=).with('foo', 'bar') 
helper.my_helper('foo', 'bar') 
0

अनुरोध

helper.request.cookies[:awesome] = "something" 
+0

यह मेरे लिए काम नहीं करता है। याद रखें, मैं कुकी को _get_ करने की कोशिश कर रहा हूं, इसे सेट न करें। –

2

मैं रेल 3.2 और rspec 2.8 पर हूँ के माध्यम से कुकी। rspec docs के बावजूद अनुरोध spec (यानी एकीकरण परीक्षण) में मेरे लिए निम्नलिखित कार्य करता है।

it 'should set cookies' do 
    cookies['foo'] = 'bar' 
    visit "/" 
    cookies['foo'].should == 'bar' 
end 
+0

हाँ, मैंने निश्चित रूप से मानक अनुरोध चश्मा में कुकीज़ की जांच की है। –

+0

@ मैटबेकर आप किस रेल और आरएसपीईसी का उपयोग कर रहे हैं? – Dty

+0

@ मैटबेकर यहां एक लेख भी है कि कैसे किसी ने rspec में कुकीज़ का उपयोग करके अपना रास्ता डीबग किया। इससे आपको यह पता चलने में मदद मिल सकती है कि इस पूरी चीज का निवारण कैसे करें। http://dobbse.net/thinair/2011/12/capybara-racktest-rspec-cookies-2of2.html – Dty

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