首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Rails中存根或模拟request.subdomains方法?

如何在Rails中存根或模拟request.subdomains方法?
EN

Stack Overflow用户
提问于 2009-06-17 02:37:51
回答 3查看 2.1K关注 0票数 3

我正在尝试在我的rails应用程序中编写一些功能测试,在application_controller.rb中我有:

代码语言:javascript
复制
before_filter :current_account
def current_account
  @current_account ||= Account.find_by_subdomain!(request.subdomians.first)
end

在运行测试时,request.subdomains不包含我正在寻找的有效子域,因此无法运行任何功能测试。

是否可以存根current_account方法或模拟request.subdomains对象?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-06-17 08:25:33

在您的功能测试中,您应该能够(使用mocha):

代码语言:javascript
复制
@request.expects(:subdomains).returns(['www'])
票数 5
EN

Stack Overflow用户

发布于 2010-01-26 00:57:55

对我来说(对于Rails 2.3.4),正确的说法是

代码语言:javascript
复制
@controller.request.expects(:subdomains).returns(['www'])

因为我不能直接访问@request。

票数 1
EN

Stack Overflow用户

发布于 2010-10-20 02:00:58

代码语言:javascript
复制
@controller.instance_variable_set(:@request, OpenStruct.new({:subdomains => 'www'}))

您可以访问ruby中的任何内容:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1004832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档