子域,测试使用黄瓜或水豚和rspec



我的项目的部分开发已经完成。我们的公司要求我为开发的代码编写黄瓜测试用例以及今后的发展。路由文件有admin和hosts两个子域。设计也是被使用。

现在我安装了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 

现在我如何指定路径。Rb文件查找root_path特定的子域。在子域约束之外没有写入root_path。这是我第一次参加考试。我真的很喜欢这个。任何帮助都是非常感谢的。

我刚从别人那里得知这可以用水豚来实现。

结果很简单。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不应该被使用,因为它没有在文档中提到。在visit.

中使用绝对路径。
Given /^I visit subdomain (.*)$/ do |site_domain|
  site_domain = "http://sub.example.com" if site_domain == "admin"
  visit site_domain
end

相关内容

  • 没有找到相关文章

最新更新