我正在使用rSpec测试我的应用程序。在我的应用程序控制器中,我有一个类似这样的方法:
def set_current_account
@current_account ||= Account.find_by_subdomain(request.subdomains.first)
end
可以在我的规格中设置request.subdomain吗?也许在之前的代码块中?我是rSpec的新手,所以在这方面的任何建议都将非常感谢。
Eef
发布于 2010-04-01 20:47:51
我想出了如何解决这个问题。
在之前的代码块中,我在规范中简单地添加了:
before(:each) do
@request.host = "#{mock_subdomain}.example.com"
end
这会将request.subdomains.first设置为mock_subdomain的值。
希望有人发现这是有用的,因为它不是很好地解释在网上的其他地方。
发布于 2010-12-01 09:29:42
在Rails3中,我试图手动设置主机的所有内容都不起作用,但查看代码后,我注意到它们可以很好地解析您传递给get
等请求助手的路径。果然,如果您的控制器获取了子域中提到的用户并将其存储为@king_of_the_castle
it "fetches the user of the subomain" do
get "http://#{mock_subdomain}.example.com/rest_of_the_path"
assigns[:king_of_the_castle].should eql(User.find_by_name mock_subdomain)
end
https://stackoverflow.com/questions/2556627
复制相似问题