Sto provando a verificare che una nuova azione nel mio controller RESTful abbia impostato una variabile di istanza del tipo di oggetto richiesto. Sembra abbastanza tipico, ma avendo difficoltà eseguendoloCome verificare la variabile di istanza è stata istanziata nel controller con RSpec
controller client
def new
@client = Client.new
end
prova
describe "GET 'new'" do
it "should be successful" do
get 'new'
response.should be_success
end
it "should create a new client" do
get 'new'
assigns(:client).should == Client.new
end
end
Risultati in ...
'ClientsController GET 'new' should create a new client' FAILED expected: #, got: # (using ==)
Ciò è probabilmente dovuto al fatto che sta tentando di confrontare 2 istanze di record attivo, che differiscono. Quindi, come faccio a verificare che il controller configuri una variabile di istanza che contiene una nuova istanza del modello Client.
Che ne dici se sto lavorando con un REST e non uso "@" nei controller? C'è una soluzione? Grazie – Luccas
Non funziona per binari 5. Idiotico ... – asiniy
Per rotaie 5, usa 'expect (assegna (: client). A be_a (Client)' – heyitsjhu