gpt4 book ai didi

phpunit & paratest & Laravel - 创建测试存储目录时随机失败

转载 作者:行者123 更新时间:2023-12-04 04:08:52 26 4
gpt4 key购买 nike

我正在使用 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 codebuild 环境中运行并失败。

有人有什么想法吗?

最佳答案

如果其他人遇到此问题,可以通过在执行测试之前创建测试存储目录来解决。

mkdir -p storage/framework/testing/disks/local
vendor/bin/paratest

它有点脆弱,但到目前为止对我们来说效果很好。

关于phpunit & paratest & Laravel - 创建测试存储目录时随机失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62089294/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com