1

spec_helper.rb ソース

ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'capybara/rspec'
require 'authlogic/test_case' # include at the top of test_helper.rb
include Authlogic::TestCase

test_spec.rb ソース

require 'spec_helper'

describe "Stackoverflow" do
  describe "GET /test" do
    it "is logged in #1" do
      activate_authlogic
      user = FactoryGirl.create(:user)
      UserSession.create(user)
      get page_path('test')
      response.body.should include('YES')
    end

    it "is logged in #2" do
      activate_authlogic
      user = FactoryGirl.create(:user)
      UserSession.find
      get page_path('test')
      response.body.should include('YES')
    end
  end
end

test.html.erb ソース

<% if current_user %>
    YES LOGGED IN
<% else %>
    NOT LOGGED IN
<% end %>

ブラウザで動作するスクリーンショット

  • Chrome はログインしています
  • Opera がログアウトされました

スクリーンショット

問題

私のテストは両方とも失敗します。Authlogic がセッションを作成/検出していないようです。私の見解は「YES LOGGED IN」であるべきです。関連するものを示していない場合は、完全なソース コードを参照してください。

4

0 に答える 0