加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – 子域,使用黄瓜或水豚和rspec进行测试

发布时间:2020-12-17 03:01:25 所属栏目:百科 来源:网络整理
导读:我的项目开发的某些部分已经完成.我们的 公司要我为开发的代码编写黄瓜测试用例 而且对于今后的发展也是如此. 路径文件有两个子域用于admin和hosts.Devise也是 正在使用. 现在我安装了黄瓜并编写了第一个场景 第一个故事,当未注册的用户登陆主页,进入 一个有
我的项目开发的某些部分已经完成.我们的
公司要我为开发的代码编写黄瓜测试用例
而且对于今后的发展也是如此.
路径文件有两个子域用于admin和hosts.Devise也是
正在使用.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读