gpt4 book ai didi

ruby-on-rails - 使用 Capybara 测试多域 Rails 3 应用程序

转载 作者:行者123 更新时间:2023-12-03 03:19:07 25 4
gpt4 key购买 nike

我想测试我的多域 RoR3 应用程序。

这是我的 test_helper.rb

ENV["RAILS_ENV"] = "test"

require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
require 'capybara/rails'
require 'blueprints'

class ActiveSupport::TestCase

end

class ActionDispatch::IntegrationTest
include Capybara

def host
"http://#{subdomain}.lvh.me:3000"
end

def subdomain
@subdomain ? @subdomain : 'demostore'
end

def visit(url)
super("http://#{subdomain}.lvh.me:3000#{url}")
end
end

还有我的集成测试:

require 'test_helper'

class ProductsTest < ActionDispatch::IntegrationTest

def setup
@subdomain = 'demostore'
# creating stuff
end

def teardown
# deleting stuff
end

test "user views product list" do
visit('/')
assert page.has_css?('ul.product-listing')
assert page.has_xpath?("//ul[@class='product-listing']/li", :count => 12)
end

test "user views product page" do
product = Product.first

visit('/')
find(:xpath, "//ul[@class='product-listing']/li/a[1]").click
save_and_open_page
end

end

我确信该链接存在。单击和填充内容时出现问题。

click_link('Existent link title')

也不起作用。

我认为默认的 Capybara 驱动程序 Rack::Test 可能对这种多域的东西有问题?

最佳答案

在您的设置中,调用此rack::test 函数,这将更改主机的值。嗯,它更改了关于虚假 Web 请求返回的主机。

host! "#{store.subdomain}.example.com"

关于ruby-on-rails - 使用 Capybara 测试多域 Rails 3 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4724054/

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