Dovrebbe essere usato un metodo personalizzato nella sezione prima (: ciascuno)
-
06-07-2019 - |
Domanda
Ho un metodo sul modello Categoria chiamato create_main usato per creare le categorie principali. Dovrei usare questo metodo nella sezione prima (: each) anche se il metodo stesso deve essere testato, o la categoria principale dovrebbe essere creata manualmente usando le funzionalità integrate nelle rotaie.
Soluzione
Dovrebbe essere possibile dividere i tuoi esempi in due gruppi di esempi, un gruppo in cui prima (: ognuno) è chiamato con create_main, e lo usi per testare tutto tranne create_main. Quindi, hai un altro sottoinsieme, dove prima (: ognuno) non chiama create_main, e qui provi create_main.
Nel tuo caso, penso che potresti provare qualcosa di simile al seguente:
describe Category, " without a main category" do
before(:each) do
# No call to create_main here
end
it "should create the main category" do
# Here we test that create_main is working
end
end
describe Category, " with a main category already created" do
before(:each) do
# This time, we do call create_main to set up the object as necessary
end
# More examples go here that depend on create_main
end
Prova. Non sono sicuro al 100% che funzioni, ma ho visto configurazioni simili in passato.