phpunit中出现的事务问题,PDOException: There is no active transaction
1. 运行环境
laradock 的容器中
1). 当前使用的 Laravel 版本?
laravel 5.8,应用了laravels 包,php7.4
问题描述
测试类写的时候环境是laravel 5.5。一切正常。
现在升级到laravel5.8 和 引入了laravels扩展后,出现了这个问题,phpunit版本8.5
执行的时候是,整个类文件一起执行的
php vendor/phpunit/phpunit/phpunit tests/Feature/Mobile/PointTest.php
在两个方法中获取了同一条数据,在第二个方法中,报错并没有事务
已经解决,开启了数据库持久连接的锅。那redis持久连接有什么风险没有?
另外一种解决方法,引入这个trait,也能解决 use Illuminate\Foundation\Testing\DatabaseTransactions;