gpt4 book ai didi

ruby-on-rails - Rspec:如何在辅助规范中指定 request.env?

转载 作者:行者123 更新时间:2023-12-03 12:10:29 26 4
gpt4 key购买 nike

在我的帮助模块中,我有:

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['...'] stub ?

谢谢。

最佳答案

您可以通过执行以下操作覆盖在请求环境中设置的用户代理。

before(:each) do
@meth = :abc
helper.request.user_agent = 'something else'
end

然后,在您的规范中:
it "does stuff" do
expect(helper.send(@meth, "some_url")).to # ...
end

关于ruby-on-rails - Rspec:如何在辅助规范中指定 request.env?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10132363/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com