Я только начинаю с Gitlab CI (с помощью исполнителя Docker).После того, как я столкнулся с некоторыми проблемами новичка и решил их, я столкнулся с довольно странной проблемой.
Все мои модульные тесты выполняются локально, но когда я запускаю их с КИ, некоторые из них терпят неудачу.
Один пример:
[2018-12-09 18:05:57] testing.ERROR: Trying to get property 'email' of non-object {"userId":834,"email":"hugh.will@example.org","exception":"[object] (ErrorException(code: 0): Trying to get property 'email' of non-object at /builds/.../laravel/framework/src/Illuminate/Mail/Mailable.php:492)
Хорошо ... Я знаю, что означает эта ошибка, но поскольку тест проходит локально, его крайне сложно отладить, и я не знаю, с чего начать.
Вот часть test_job моего файла .yml:
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?
Есть ли что-то, что нужно помнить при тестировании приложения Laravel с использованием CI?