我刚刚开始使用 Gitlab CI(使用 docker 执行器)。在面对并解决了一些初学者的问题之后,我现在面临着一个非常奇怪的问题。
我所有的单元测试都在本地成功,但是当我使用 CI 运行它们时,其中一些测试失败了。
一个例子:
[2018-12-09 18:05:57] testing.ERROR: Trying to get property 'email' of non-object {"userId":834,"email":"[email protected] /cdn-cgi/l/email-protection","exception":"[object] (ErrorException(code: 0): Trying to get property 'email' of non-object at /builds/.../laravel/framework/src/Illuminate/Mail/Mailable.php:492)
嗯..我知道这个错误意味着什么,但是随着测试在本地成功,调试起来非常困难,我不知道从哪里开始。
这是我的 .yml 文件的 test_job 部分:
test_job:
stage: test
services:
- mysql:5.7
- redis:latest
artifacts:
when: always
paths:
- storage/logs/
dependencies:
- build_job
script:
- sh .gitlab-test.sh
tags:
- docker
只是为了确定 - 我的 test.sh
#!/bin/sh
set -xe
php -v
ping -c 3 mysql
php artisan migrate
php artisan db:seed --class=TestingSeeder
php vendor/bin/phpunit --coverage-text --colors
我的问题:似乎在某个地方 json 的解析失败了,但 Mailable 是一个 Laravel 组件,应该(而且确实)工作。
Laravel 5.5 和 Gitlab CI 是否存在任何已知问题?
如何调试仅在 Gitlab CI 上失败的测试?
使用 CI 测试 Laravel 应用程序时是否需要记住一些事情?
原因是配置错误。
事实证明,大多数失败的测试都是测试一些与邮件相关的东西。我忘记添加我的 smtp 凭据。
它没有抱怨凭据丢失/错误,而是返回了这个奇怪的绝对不相关的错误消息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)