gpt4 book ai didi

ruby-on-rails - Rails3 : How do I visit a subdomain in a steak(rspec) spec using Capybara

转载 作者:行者123 更新时间:2023-12-04 05:49:20 26 4
gpt4 key购买 nike

我想从牛排规范访问 user1.application.local.dev/panel/new。

我该怎么做?

最佳答案

步骤 1. 设置本地 DNS。

http://intridea.com/2010/6/2/using-bind-locally-on-os-x-for-easy-access-to-subdomains?blog=company

步骤 2. 使用支持子域的 Capybara 驱动程序。

Selenium 或 Akphalos 都可以。

创建 spec/support/custom_env 并将此内容放入其中:

#Capybara.default_driver = :selenium
Capybara.default_driver = :akephalos
Capybara.app_host = 'http://davinci.testing.dev:8082'
Capybara.run_server = false
Capybara.server_port = 8082

选择你想要的 capybara 驱动程序,Selenium 或 akpehalos 或任何你想要的,除了rack-test(默认)

当然,输入您选择的域和端口。

第 3 步:

将 config.before 块添加到您的 spec/spec_helper.rb

RSpec.configure 做 |config|
config.before : 每个都做
Capybara.app_host = " http://davinci.testing.dev:8082 "
结尾
结尾

当然,输入您选择的域和端口。

第四步:

添加一个助手来切换子域。

规范/验收/支持/helpers.rb
def switch_to_subdomain(subdomain)
Capybara.app_host = "http://#{subdomain}.davinci.testing.dev:8082"
end

当然,输入您选择的域和端口。

步骤 5. 在规范中使用辅助方法。

现在,每次您想更改子域时,您都会:
scenario "Show school" do                        
school = School.make!(:name=>"perico")
switch_to_subdomain(school.name)
visit("/")
page.has_content?("Welcome to perico")
end

关于ruby-on-rails - Rails3 : How do I visit a subdomain in a steak(rspec) spec using Capybara,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4484435/

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