在我的幫助模塊,我有:Rspec:如何在規範中指定request.env?
def abc(url)
...
if request.env['HTTP_USER_AGENT']
do something
end
end
在我的規格文件,我有:
describe "#abc" do
before(:each) do
@meth = :abc
helper.request.env['HTTP_USER_AGENT'] = "..."
end
it "should return the webstart jnlp file" do
@obj.send(@meth, "some_url").should ....
end
end
當我運行規範我有這樣的錯誤:
undefined local variable or method `request' for <ObjectWithDocHelperMixedIn:0x00000103b5a7d0>
如何我是否在我的規格中存根request.env ['...']?
謝謝。
我這樣做是控制器的規格,雖然從不在助手規格嘗試。 – apneadiving 2012-04-12 21:54:36
感謝您的回覆。是的,我之前也嘗試過,但它在輔助規格中不起作用(至少在我的情況下)。 – RoundOutTooSoon 2012-04-12 21:58:35
一個簡單的解決方法是將條件提取到助手中的方法並存根這些方法 – apneadiving 2012-04-12 22:04:18