gpt4 book ai didi

ruby-on-rails-3 - 子域,使用 cucumber 或 capybara 和 rspec 进行测试

转载 作者:行者123 更新时间:2023-12-04 06:53:55 25 4
gpt4 key购买 nike

我的项目开发的一部分已经完成了。我们的
公司要求我为开发的代码编写 cucumber 测试用例
以及今后的发展。
路由文件有两个子域,分别用于 admin 和 hosts.Devise 也是
正在使用。

现在我安装了 Cucumber 并编写了第一个场景
当非注册用户登陆主页时进入的第一个故事
一个有效的电子邮件并被重定向到下一页..该页面没有
密码字段。

Scenario: Non registered user lands on beta home page. 
Given: I am on the homepage
When: I enter valid email with "bahubalian...@gmail.com".
Then: I should be redirected to request invitation page.

问题出在我的路由文件中,我有,
constraints :subdomain => ADMIN_SUBDOMAIN do 
....
root :to => admin#index
end
constraints :subdomain => HOST do
...
root :to => home#index.
end

现在我如何指定 path.rb 文件来查找 root_path
那个特定的子域。
在子域约束之外没有写入 root_path。
这是我第一次进行测试。
我真的坚持这一点。任何帮助都深表感谢。

我刚刚从某人那里得知这可以使用 capybara 来实现。如果是这样,请您对此有所了解。

最佳答案

原来它很简单。Capybara 提供了一个 default_host 方法。
所以我只需要提一下,

When I visit subomain sub

然后是 webstep
Given /^I visit subdomain (.*)$/ do |site_domain|

site_domain = "http://sub.example.com" if site_domain == "admin"

Capybara.default_host = site_domain
visit "/"
end

更新:

不应该使用 default_host ,因为文档中没有提到它。
而是尝试在访问中使用绝对路径。
Given /^I visit subdomain (.*)$/ do |site_domain|

site_domain = "http://sub.example.com" if site_domain == "admin"
visit site_domain
end

关于ruby-on-rails-3 - 子域,使用 cucumber 或 capybara 和 rspec 进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7333701/

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