[RUBY] Un exemple d'erreur FactoryBot [KeyError: Factory not registered: "user"]

C'est à moitié non résolu, mais c'est une histoire de faire un portfolio et de faire quelque chose comme ça ... J'ai eu une erreur de titre lors de l'exécution du code de test unitaire du modèle, mais je n'ai pas trouvé de cas similaire lorsque je l'ai recherché, alors je l'ai écrit. Je ne décrirai que brièvement les conclusions et les premiers secours.

Conclusion: il y avait un problème avec l'association (probablement)

L'instance a été organisée à l'aide de FactoryBot, mais une erreur s'est produite en raison de la description suivante. En guise de premiers secours, l'erreur a disparu lorsque je l'ai supprimée.

spec/factories/contents.rb


association :user

C'est une association Factory Bot. Je l'ai écrit parce que je veux extraire les données dans la table des utilisateurs. Ce n'est pas étrange en soi, mais je pense que c'est parce qu'il y a un problème pour écrire un autre code et que cela ne fonctionne pas. La cause est sous enquête, mais si ce n'est pas possible, le test n'est pas impossible, je voudrais donc l'écrire séparément.

Si vous obtenez la même erreur, vous voudrez peut-être douter de ce qui précède.

Postscript

J'ai découvert pourquoi l'association ne fonctionnait pas. L'essentiel est que l'instance spec / factories / user.rb était vide.

spec/factories/user.rb


FactoryBot.define do
  factory :user do

  end
end

Pour une raison quelconque, je pensais juste que je l'avais déjà écrit. C'est naturel que ça ne marche pas. .. .. J'aurais donc dû douter que l'association ait été rédigée correctement en premier lieu.

Recommended Posts

Un exemple d'erreur FactoryBot [KeyError: Factory not registered: "user"]
Erreur de test Rails5 Rspec ArgumentError: Usine non enregistrée: utilisateur
Un exemple simple du modèle MVC
Une erreur s'est produite car le only_full_group_by de sql_mode n'a pas été observé.