1

我遇到了一个问题,我正在使用带有设计的 ruby​​ on rails 并想用 capybara 测试我的应用程序的流程。

当我单击电子邮件中的链接时

current_email.click_link 'text'

它给出了一个协议错误,调试这个似乎水豚改变了设计用来制作电子邮件的主机。

所以我写了这个测试:

ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../../config/environment", __FILE__)
require 'rspec/rails'
require 'capybara/rspec'
require 'capybara-webkit'
require 'capybara/email/rspec'
require 'headless'

describe 'capybara and devise are broken', type: :request do
  it 'action_mailer default url should change when visiting a page' do  
    initialValue = X::Application.config.action_mailer.default_url_options[:host]

    visit "/"

    initialValue.should_not equal X::Application.config.action_mailer.default_url_options[:host]
  end

  it 'action_mailer default url should change when clicking a link' do  
    initialValue = X::Application.config.action_mailer.default_url_options[:host]
    visit "/"
    X::Application.config.action_mailer.default_url_options[:host] = initialValue

    click_link "Can't access?"

    initialValue.should_not equal X::Application.config.action_mailer.default_url_options[:host]
  end

  it 'action_mailer default url should change when clicking a button' do
    initialValue = X::Application.config.action_mailer.default_url_options[:host]
    visit "/"
    X::Application.config.action_mailer.default_url_options[:host] = initialValue

    click_button "Sign in"

    initialValue.should_not equal X::Application.config.action_mailer.default_url_options[:host]
  end

end

所有这些测试都成功了,我不知道我做错了什么。

这是我在 RoR 的第三周,所以也许这是我明显想念的东西?

Gem 版本:gem 'rails','3.2.7' gem 'capybara',要求:false gem 'capybara-webkit','= 0.10.1',要求:false gem 'capybara-screenshot' gem 'capybara-email'宝石'设计','〜> 2.0.0'宝石'devise_invitable','〜> 1.0.0'

4

0 回答 0