Ho il seguente codice all'interno la maggior parte dei miei test:In RSpec, utilizzando lasciare variabile all'interno di prima: tutti i blocchi
describe 'index'
let(:company) { FactoryGirl.create(:company) }
let(:user) { FactoryGirl.create(:user, company: company) }
before do
sign_in user
visit products_path
end
...
end
Ma sto ottenendo il seguente avviso:
WARNING: let declaration 'user' accessed in a 'before(:all)'
La mia domanda è, qual è il modo corretto di farlo? Non riesco a trovare molte informazioni sull'avviso stesso.
Grazie!
EDIT: Il mio obiettivo è quello di utilizzare la variabile utente in modo che posso trasmetterla ai sign_in, che firma l'utente, e utilizzare in un secondo momento un altro test (a verificare per l'attributo della società dell'utente)
Sembra che questo sia il modo giusto. Sei sicuro che non ci sia un 'before (: all)' che non stiamo vedendo? – zetetic
Sì, ho pensato che ci fosse _ prima (: tutto) che non stavi mostrando. Non è questo il caso? –
L''indice' è, credo, non il tuo blocco descrittivo di primo livello, è annidato in un'altra descrizione o blocco di contesto sopra di esso? In altre parole, sei sicuro di non ereditare qualcosa. Inoltre, 'before do' è uguale a' before: each do'. È implicito. Puoi mostrare l'intero file delle specifiche? – fontno