6

Tamam, performans testleri yazıyorum ve oturumumu bütünleştirme testlerinde olduğu gibi devam ettirmek için sorun yaşıyorum. Anladığım kadarıyla, PerformanceTest, IntegrationTest'in bir çocuğudur ve tüm uyumluluk testleri performans testi ile çalışmalıdır. Ancak, bir tümleştirme sınaması aldığımda ve bunu performansa kopyaladığımda, ActionController :: IntegrationTest'i ActionController :: PerformanceTest olarak değiştirin ve sınamayı deneyin, başarısız olur.Oturumum neden IntegrationTest değil, PerformanceTest kullanırken kullanılır?

Ben Authlogic kullanıyorum ve entegrasyon testi oturumları takip ettikleri ile ilgili bir sorun olmadı. Performans testleri ile oturum düzgün bir şekilde oluşturulmuş gibi görünüyor, ancak "/ raporlar" sayfasını (korunan bir sayfa) ziyaret ettiğimde, kullanıcı oturumu olmadığı gibi beni giriş sayfasına yönlendiriyor.

require 'performance_test_help' 

class SimpleTest < ActionController::PerformanceTest 
    setup :activate_authlogic 

    test "login" do 
    assert user_session = UserSession.create!(User.find_by_login("admin")) 

    get "/reports" 
    assert_response :success 
    end 
end 

Neler oluyor burda? Bir kullanıcı oturumu (oluşturma, yayınlama, vb.) Elde etmek için birçok yol denedim ve hiçbir şey işe yaramıyor gibi görünüyor. Bu ... BTW

Muhtemelen aptal bir şey yapıyorum bu yüzden performans testlerini yazdım ilk kez: Ruby 1.8.7 çalıştırıyorum, Debian Squeeze üzerinde 2.2.2 Raylar.

+0

Ben aynı sorunu yaşıyorum ve kesinlikle herhangi işaretçiler takdir ediyorum ... kendi başınıza sorunu çözdü mü? –

+0

Bana AOLer deyin. Ben de! Herhangi bir düzeltme? – kwerle

cevap

1

kurulumu için entegrasyon testleri gibi performans testleri var.

post "user_session", :user_session => {:login => "user", :password => "password"} 
+0

Evet, giriş yapmak için giriş yapmak zorundasınız, çünkü test'teki uses_session bir uygulama değişkenli değişken değil, yerel bir değişken oluyor. –

0

emin orada kurulumunda ne ama siz de require 'test_helper' eksik:

sonrası kullanarak giriş çalışın. Bu yöntem mevcutsa veya bir Authlogic test yardımcısında varsa, bunun dahil olduğundan emin olmanız gerekebilir.