作者:朝阳又起风云 | 来源:互联网 | 2023-01-01 17:26
我在Homestead-7上使用Laravel 5.5,phpunit 6.5.5(我认为)。
我正在尝试本教程:https : //laravel-news.com/your-first-laravel-application(这应该告诉您很多我在框架方面的经验)
测试失败(由于TokenMismatchException
),尽管我尝试了许多将其APP_ENV
设置为的方法local
,但我设法找出了设置为该变量的根本原因testing
。
最后,让我克服了这个问题的是设置变量,如下所示:
APP_ENV=testing vendor/bin/phpunit
然后,测试成功完成。
我的问题是,我在做什么错?上述破解显然不是最好的方法。必须有一种正确执行此操作的方法。
更新资料
内容phpunit.xml
:
./tests/Feature
./tests/Unit
./app
预先感谢您的宝贵时间。
1> jdunk..:
从Laravel文档中:
当通过运行测试时phpunit
,testing
由于phpunit.xml
文件中定义了环境变量,Laravel将自动将配置环境设置为。
...所以我敢打赌,您的phpunit.xml
文件丢失或配置错误。它应该在您项目的根目录中,并应包含以下内容:
...
如果您确实phpunit.xml
在正确的位置有一个文件,并且确实包含上面的部分,但仍无法使用,请尝试清除配置缓存:
php artisan config:clear
如果仍然不能解决问题,那么我将检查phpunit.xml
文件是否有异常,例如被错误命名或包含语法错误。
这是原始文件的链接phpunit.xml
,以帮助您在需要时还原它。
只想说谢谢@jdunk!我有一个星期的问题,失去了理智。`php artisan config:clear`确实很不错,很合理!