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」であるべきです。関連するものを示していない場合は、完全なソース コードを参照してください。