1

問題が発生しました。devise で ruby​​ on rails を使用しており、アプリケーションのフローをカピバラでテストしたいと考えています。

メール内のリンクをクリックしたとき

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 を使用して 3 週目になるので、私が見逃しているのは明らかなことでしょうか?

Gem バージョン: gem 'rails', '3.2.7' gem 'capybara', require: false gem 'capybara-webkit', '= 0.10.1', require: false gem 'capybara-screenshot' gem 'capybara-email' gem 'devise', '~> 2.0.0' gem 'devise_invitable', '~> 1.0.0'

4

0 に答える 0