Maison  >  Article  >  développement back-end  >  Solution à l'erreur signalée par la fonction old() dans le phpUnit de Laravel

Solution à l'erreur signalée par la fonction old() dans le phpUnit de Laravel

黄舟
黄舟original
2017-09-11 09:08:481283parcourir

Cet article vous présente principalement le processus de résolution de l'erreur de fonction old() dans phpUnit dans les tests unitaires laravel. L'article le présente en détail à travers l'exemple de code. Il a une certaine valeur d'apprentissage de référence pour l'étude ou le travail de chacun. est nécessaire Amis, veuillez suivre l'éditeur pour apprendre ensemble.

Préface

Je faisais des tests unitaires Laravel récemment, j'ai rencontré un problème :

Lors de l'utilisation de old() An. une erreur sera signalée lors de l'exécution de la fonction. Il n'y a pas de problème avec l'accès normal à l'url, mais une erreur sera signalée dans phpUnit

Raison de l'erreur :

 
exception 'RuntimeException' with message 'Session store not set on request.'
 in /Users/lei/Sites/goodstyle/vendor/laravel/framework/src/Illuminate/Http/Request.php:870

C'est évidemment la raison pour laquelle. la session n'est pas ouverte car elle est épuisée, mais phpUnit est configuré par Laravel lui-même, donc j'étais très confus, alors j'ai vérifié le code source


Processus de solution

Session ouverte (app/Http/kerner)

Évidemment j'ai ouvert la session, mais j'ai trouvé le code de mon test unitaire et j'ai découvert que j'avais ouvert cet extrait de code


Ignorer les restrictions du middleware

Parce que ce code J'ai empêché ma session de s'ouvrir, j'étais intelligent et j'ai été trompé. Au départ, je voulais utiliser cette méthode sans écrire de middleware, mais je me suis laissé prendre par elle-même. Ensuite, je suis allé sur ce code, j'ai réécrit la logique et il s'est exécuté. normalement

Résumé

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn