5

ヘルパー メソッドをテストするときに、Cookie が設定されていることをテストする方法がわかりません。

仮想ヘルパー メソッド:

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

誰でもこれを行う方法を知っていますか?

4

3 に答える 3

4

必要に応じて、CookieJarの代わりに単純なrspecモックを使用すると機能します。

helper.stubs(:cookies => cookies = mock)
cookies.expects(:[]=).with('foo', 'bar')
helper.my_helper('foo', 'bar')
于 2012-07-31T00:12:48.163 に答える
2

私はRails3.2とrspec2.8を使用しています。rspecのドキュメントによると、リクエスト仕様(統合テスト)では次のように機能します。

it 'should set cookies' do  
  cookies['foo'] = 'bar'
  visit "/"
  cookies['foo'].should == 'bar'
end
于 2012-07-26T00:43:35.393 に答える
0

を通じてクッキーをリクエストする

 helper.request.cookies[:awesome] = "something"
于 2012-07-25T22:07:33.977 に答える