Rails3:如何使用 Capybara 访问牛排(rspec)规范中的子域
我想从牛排规范访问 user1.application.local.dev/panel/new 。
我该怎么做?
I want to access user1.application.local.dev/panel/new from a steak spec.
How do I do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
步骤 1. 设置本地 DNS。
http://intridea.com/2010/6/2/using-bind-locally-on-os-x-for-easy-access-to-subdomains?blog=company
步骤 2. 使用水豚支持子域的驱动程序。
Selenium 或 Akephalos 都可以解决这个问题。
创建spec/support/custom_env并将以下内容放入其中:
选择您想要的水豚驱动程序,Selenium或akpehalos或任何您想要的驱动程序,除了rack-test(默认)
,当然,输入您选择的域和端口。
步骤 3:
将 config.before 块添加到你的 spec/spec_helper.rb
RSpec.configure do |config|
config.before:每个都做
Capybara.app_host = "http://davinci.testing.dev:8082"
结束
。
当然,输入您选择的域和端口
第四步:
添加一个切换子域的助手。
Spec/acceptance/support/helpers.rb
当然,输入您选择的域和端口。
步骤 5. 使用规范中的辅助方法。
现在,每次您想要更改子域时,您都会执行以下操作:
Step 1. Set up a local DNS.
http://intridea.com/2010/6/2/using-bind-locally-on-os-x-for-easy-access-to-subdomains?blog=company
Step 2. Use a Capybara driver that support subdomains.
Either Selenium or Akephalos would do the trick.
Create spec/support/custom_env and put this content in it:
Select the capybara driver that you want, either Selenium or akpehalos or whatever you want, except rack-test (default)
Put the domain and port of you choice, of course.
Step 3:
Add the config.before block to your spec/spec_helper.rb
RSpec.configure do |config|
config.before :each do
Capybara.app_host = "http://davinci.testing.dev:8082"
end
end
Put the domain and port of you choice, of course.
Step 4:
Add a helper to switch subdomains.
Spec/acceptance/support/helpers.rb
Put the domain and port of you choice, of course.
Step 5. Use the helper method in your spec.
Now every-time you want to change of subdomain you do:
这是水豚的问题。在需要时设置
default_host
This is a Capybara question. Set the
default_host
when you need it