55 votes

Comment puis-je me débarrasser de @controller est une erreur nulle dans mes tests

Je continue à recevoir

Lorsque j’exécute mes tests. Avez-vous une idée de ce que cela signifie?

87voto

ErsatzRyan Points 1850

Lorsque vous héritez de ActionController::TestCase, il déduit le nom du contrôleur du nom du test s’ils ne correspondent pas, vous devez utiliser la partie de test pour le `` définir.

Donc, si vous avez

Ensuite, est automatiquement instancié à , cependant, si ce n’était pas le cas et que vous aviez un nom différent, vous auriez besoin d’un `` en tant que tel

17voto

Kevin B Points 41

J’étais en train de passer à rspec 3 de la version bêta sur rails 4 et j’ai rencontré cette erreur. Le problème s’est avéré être que nos spécifications de contrôleur décrivent des instructions utilisées des symboles au lieu de chaînes. Rspec tentait d’instancier le symbole en tant que contrôleur, mais il s’agissait en fait d'«actions ».

12voto

charlesdeb Points 126

La réponse d’ErsatzRyan est correcte, mais il y a une petite faute de frappe. Au lieu de

il devrait être

sinon, vous obtenez une erreur: méthode non définie 'response_body='

2voto

Nathan Hanna Points 66

Si les noms correspondent et que la variable @controller est toujours nulle, essayez de vérifier les erreurs dans l’instanciation du contrôleur. Pour moi, j’avais une méthode d’initialisation du contrôleur qui comportait un bogue. Pour une raison quelconque, le contrôleur était juste nul dans le test, plutôt que de lancer une erreur lorsqu’il n’était pas instancié.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X