【问题标题】:Gitlab suffers fatal error after running PHP Unit but tests passGitlab 在运行 PHP 单元后遇到致命错误但测试通过
【发布时间】:2021-01-02 12:52:54
【问题描述】:

致命错误:未捕获 Illuminate\Contracts\Container\BindingResolutionException:目标 [Illuminate\Contracts\Debug\ExceptionHandler] 不可实例化。在/builds/xxx/vendor/laravel/framework/src/Illuminate/Container/Container.php 1017 行

Illuminate\Contracts\Container\BindingResolutionException:目标 [Illuminate\Contracts\Debug\ExceptionHandler] 不可实例化。在/builds/xxx/vendor/laravel/framework/src/Illuminate/Container/Container.php 1017 行

此错误发生在 Gitlab 通过测试后导致管道失败,这不好。

所有测试都在本地通过,并且错误不会在那里发生 - 仅在 GitLab 内。

我可以强制合并,但这意味着管道总是会失败,这有点愚蠢和毫无意义。

这是对 Laravel 8 的升级。

我重新运行了管道,以防它是一个小精灵。可能会再试一次。

在调用异常之前最后一点是:

Illuminate\Foundation\Application->make()

最好的方法是什么?特别是因为这是在供应商文件夹中所以不可更改。

谢谢!!!


编辑:这个问题与我现在可以不用但想重新打开的报道报告有关。但是,如果我删除 --coverage-text 标志,它就会通过。这感觉有点 hacky 并且忽略了问题,但现在没关系。

【问题讨论】:

    标签: laravel gitlab phpunit


    【解决方案1】:

    您是否尝试过 composer dump-autoload.这应该可以解决问题

    【讨论】:

    • 我的印象是 Gitlab 每次都在获取新版本,但如果有办法我可以告诉它这样做,我会尝试看看它是否能解决。
    • 我在运行测试之前将命令转储自动加载,不幸的是这没有效果。
    • 经过进一步调查,这似乎是覆盖率报告触发的。当我关闭它时,它会起作用。
    • 在工匠迁移后尝试添加此php artisan config:cache,看看是否有帮助
    • php artisan config:cache 已经是管道的一部分,但我尝试在迁移后将其移至,但不幸的是没有变化。不过谢谢:)
    猜你喜欢
    • 2023-03-14
    • 2011-06-12
    • 2017-02-16
    • 2016-06-26
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多