Si une méthode personnalisée est utilisée dans la section before (: each)
-
06-07-2019 - |
Question
J'ai une méthode sur le modèle Catégorie appelée create_main utilisée pour créer les catégories principales. Dois-je utiliser cette méthode dans la section précédente (: each) même si la méthode elle-même doit être testée, ou la catégorie principale devrait-elle être créée manuellement à l'aide de la fonctionnalité de rails intégrée?
La solution
Il devrait être possible de partitionner vos exemples en deux exemples de groupes, un groupe où avant (: each) est appelé avec create_main, et que vous utilisez pour tout tester à l'exception de create_main. Ensuite, vous avez un autre sous-ensemble, où avant (: each) n’appelle pas create_main, et ici vous testez create_main.
Dans votre cas, je pense que vous pourriez essayer quelque chose comme ce qui suit:
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
Donnez-lui un coup de feu. Je ne suis pas sûr à 100% que cela fonctionne, mais j'ai déjà vu des configurations similaires.