rspec ile özellik özelliklerine yazıyorum ve her seferinde giriş adımını atlamak istiyorum. Kullanıcılar omniauth (hayır vasiyetle) üzerinden doğrulanır ve bir session[:user]
değişken ayarlanır ve daha sonra başvurulan Bağlı kalmak istediğin doğrudan mümkünse oturum değişkeni ayarlamak mümkün istiyorum.Raylar, oturum açmış kullanıcı ile test özelliğini (undefined method 'session') içeriyor
require 'spec_helper'
describe "My page" do
it "has what I want on it when logged in" do
user = FactoryGirl.create(:user)
session[:user] = user.id
visit my_path
page.should have_content "Foobar"
end
end
ama bu
verirFailure/Error: session[:user] = user.id
NameError:
undefined local variable or method `session' for #<RSpec::Core::ExampleGroup::Nested_1:0x007fd13456d170>
Oturum değişkenini doğrudan ayarlamak için herhangi bir yol var mı, bu sayede testlerin çoğunda oturum açma adımını engelleyebilir miyim?
Bunu denedim ve aynı hatayı attı, yalnızca tanımlanmamış yöntemle 'session' yerine 'request' olmak yerine – tyler
Oh, üzgünüm sadece _feature_ specs dediğini fark ettim. Yukarıdakilerin _controller_ özellikleri için tasarlandığını düşünüyorum. Oturumu doğrudan özellik özelliklerinden güncelleyebileceğinize inanmıyorum. –