7

Şu anda railstutorial.org 3rd Edition sürümünü takip ediyorum ve şu anda Bölüm 8'de çalışıyorum: Giriş yap, çıkış yap. "Beni hatırla" onaysız Entegrasyon Testi Checkbox

I (hatırlama testi olmadan giriş) Bu kodu 8,51 Liste bazı saçma buldum:

assert_nil cookies['remember_token'] 

Ben yürütmek zaman:

FAIL["test_login_without_remembering", UsersLoginTest, 1.268578948] 
test_login_without_remembering#UsersLoginTest (1.27s) 
    Expected "" to be nil. 
    test/integration/users_login_test.rb:46:in `block in  <class:UsersLoginTest>' 

Ama: rake test, aşağıdaki hata ile KIRMIZI dönmek var ben bu koda değiştirdiğinizde,:

assert_not_nil cookies['remember_token'] 

ve ben çalıştırın: rake test, YEŞİL geri döndü ve Oturum Aç - Oturumu kapatma işlemi düzgün çalışıyor. Bu dava hakkında birileri açıklayabilirse

Teşekkür ederiz.

+0

Test edilen kod nerede ya da en azından yaptığınız bu egzersizin bağlantısı nerede? – lcguida

+0

@rockskull Bu [bağlantı] (https://www.railstutorial.org/book/log_in_log_out#sec-remember_tests) (8.4.6 nokta) 'daki öğreticiyi takip ediyorum ve kodum bu eğiticiyle tam olarak aynı. Ancak, Test 8.52'de test yaptığımda, KIRMIZI oluyor. – rilutham

cevap

20

Ben sadece bu hatayı yaptım ...

TL; sessions_controller.rb


den remember user kaldırmak Listing 8.34 bir göz atın. session_controller.rb'da remember user 'u bulmalısınız.

Şimdi aynı dosyaya referansla, Listing 8.49'a bakın. Yazar, bu satır hakkında büyük bir anlaşma yapar, ancak aramayı yalnızca remember user numaralı aramayı kaldırmadan yapıştırırsanız, simge oluşturulmaya devam eder.

Yani, bu çizgide yapıştırırken:

params[:session][:remember_me] == '1' ? remember(user) : forget(user)

o remember user çağrısını yerine dikkat edin.

İlgili konular