jef*_*unt 4 get ruby-on-rails functional-testing
我正在尝试为必须在https上运行的操作编写功能测试.我没有测试HTTPS重定向 - 我已经知道它可以在另一个测试中运行.
我想要做的是:
get :new, :protocol => "https://"
assert_redirected_to :root
Run Code Online (Sandbox Code Playgroud)
但这不会通过https发出请求.是否有"get"选项可以让我更改协议?
此外,如果我尝试指定url(例如:get"https:/test.host/do/something"),我会收到路由错误,因为我的rails级别没有用于https的路由 - 它在我的网站上处理服务器级别.
我在这里找到了一个更简单的答案:http: //railspikes.com/2008/9/12/testing-ssl
这是将以下行放在(a)每个需要SSL的功能测试的开头,或者(b)在'setup'方法中,如果控制器中的每个动作都使用SSL.
@request.env['HTTPS'] = 'on'
Run Code Online (Sandbox Code Playgroud)
这会使用https预先填写所有请求
| 归档时间: |
|
| 查看次数: |
1577 次 |
| 最近记录: |