我正在使用 phpunit、paratest 的并行测试插件和 Laravel 应用程序来加速我们的测试套件的执行。这在大多数情况下都有效,但偶尔会出现以下故障。
League\Flysystem\Exception: Impossible to create the root directory "/codebuild/output/src0123456/src/github.com/org/repo/storage/framework/testing/disks/local". file_get_contents(/codebuild/output/src0123456/src/github.com/org/repo/.env): failed to open stream: No such file or directory
/codebuild/output/src0123456/src/github.com/org/repo/vendor/league/flysystem/src/Adapter/Local.php:112
/codebuild/output/src0123456/src/github.com/org/repo/vendor/league/flysystem/src/Adapter/Local.php:78
/codebuild/output/src0123456/src/github.com/org/repo/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemManager.php:167
/codebuild/output/src0123456/src/github.com/org/repo/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:261
/codebuild/output/src0123456/src/github.com/org/repo/vendor/laravel/framework/src/Illuminate/Support/Facades/Storage.php:70
/codebuild/output/src0123456/src/github.com/org/repo/tests/TestCase.php:42
第 42 行的故障与此行有关,该行正在创建本地存储文件夹以进行测试。
Storage::persistentFake();
我认为提到 .env 文件的错误的后半部分是不相关的,因为异常选择了最后记录的错误,而不是与失败相关的错误。
这只会时不时发生,因此它必须是一系列操作或时间问题。
测试在针对 php 7.3 和 7.4 的 AWS 代码构建环境中运行并失败。
有人有想法么?