Domanda

Sono attualmente in RailsTutorial 3.2, Sezione 9.3.1 Indice utente .

Il Listato 9.27 indirizza una modifica al codice spec/requests/authentication_pages_spec.rb come segue:

require 'spec_helper'

describe "Authentication" do
    .
    .
    .
    describe "with valid information" do
      let(:user) { FactoryGirl.create(:user) }
      before { valid_signin(user) }

      it { should have_selector('title', text: user.name) }

      it { should have_link('Users',    href: users_path) }
      it { should have_link('Profile',  href: user_path(user)) }
      it { should have_link('Settings', href: edit_user_path(user)) }
      it { should have_link('Sign out', href: signout_path) }

      it { should_not have_link('Sign in', href: signin_path) }
      .
      .
      .
    end
  end
end

Dopo aver fatto ciò, la sezione di test corrispondente fallisce.Ho seguito il tutorial molto fedelmente, quindi il mio codice e la configurazione sono per il resto praticamente identici.

Dopo aver testato alcune cose, ho scoperto che la modifica del

before { valid_signin(user) } 

riga da leggere

before { sign_in user }

invece farà passare di nuovo tutti i test.C'è qualcosa nella riga valid_signin(user) che è sintatticamente disattivata o questo indica un errore altrove nel mio codice?

(L'app funziona esattamente come dovrebbe, è solo il test che dice che non funziona.)

È stato utile?

Soluzione

Se guardi il listato 8.34 vedrai il def di valid_signin nel file spec / support / utilities.rb.

Altri suggerimenti

Trovo che gran parte del lavoro "opzionale" sia necessario affinché il codice che segue funzioni.Cordiali saluti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top