Rspec — besoin d'un Fichier stub.ouvert qui est appelée dans un autre fichier
Dans mon test, je suis de l'initialisation d'une nouvelle classe appelée Package
avec certains paramètres.
Dans l'initialisation de cette classe, j'ai ouvert un fichier qui est disponible sur ma télécommande boîtes, mais pas quelque chose qui est souvent localement. Je me demandais comment j'allais buter sur cette méthode dans mon test.
Je suis en utilisant rspec et de moka. J'ai essayé quelque chose comme:
File.stubs(:open).with(:file).returns(File.open("#{package_root}/test_files/test.yml"))
J'ai eu cette ligne avant j'ai initialisé Package
dans mon test.
J'ai eu cette erreur:
unexpected invocation: File.open('package/test_files/test.yml')
satisfied expectations:
- allowed any number of times, not yet invoked: File.open(:file)
Je ne suis pas familier avec rspec ou de moka, de sorte que l'aide est appréciée. Merci!
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr que vous avez besoin que
.with(:file)
partie, essayez de laisser tomber complètement. Aussi, je crois, par la spécification de cette façon, vous êtes littéralement en lui disant d'attendre de quelqu'un à l'appel de la méthode et de passer un:file
symbole plutôt que, par exemple, une chaîne de nom de fichier. Également envisager de préchargement dans le test de fichier YAML et juste retour que:La nouvelle syntaxe pour les talons ressemble à ceci: