Ich habe eine Gitlab CI-Pipeline für ein Laravel 5.5-Projekt (Dateien am Ende des Beitrags) eingerichtet und der Build ist erfolgreich, aber die Tests schlagen fehl, weil PHPUnit tritt mit der FehlermeldungGitlab CI -Laravel 5.5 - PHPUnit "Tests TestCase nicht gefunden"
Fatal error: Class 'Tests\TestCase' not found in /builds/[User]/[Repo]/tests/Feature/DocumentTest.php on line 8
(Offensichtlich [Benutzer] und [Repo] sind nicht die wirklichen Werte, nicht einfach wollen es hier öffentlich machen)
ich verschiedene Dinge bereits versucht haben, , wie PHPUnit global zu installieren und PHPUnit auf verschiedene Arten aufzurufen, endet alles mit derselben Fehlermeldung.
PHPUnit läuft erfolgreich auf meinem lokalen (egal wie ich es nenne, es funktioniert immer). Also weiß jemand, was das Problem hier sein könnte?
Als Referenz hier sind die Pipeline-Dateien:
.gitlab-ci.yml:
image: woohuiren/php-laravel-env:latest
services:
- mysql:latest
- redis:4.0.2-alpine
before_script:
- apk update
- docker-php-ext-install pcntl
variables:
MYSQL_DATABASE: testdb
MYSQL_ROOT_PASSWORD: root
stages:
- build
- test
build_job:
stage: build
script:
- sh .gitlab-build.sh
artifacts:
paths:
- vendor/
- bootstrap/
- composer.phar
- .env
tags:
- docker
test_job:
stage: test
dependencies:
- build_job
script:
- sh .gitlab-ci.sh
tags:
- docker
.gitlab-build.sh:
#!/bin/bash
set -eo pipefail
php -v
ping -c 3 mysql
php composer.phar install --no-progress --no-scripts
php artisan package:discover
cp -v .env.testing .env
php artisan key:generate
php artisan optimize
php artisan config:clear
php artisan storage:link
php artisan migrate --seed
php artisan jwt:secret
php artisan passport:install --force
. gitlab-ci.sh:
#!/bin/sh
set -eo pipefail
php -v
ping -c 3 mysql
./vendor/phpunit/phpunit/phpunit -v --testdox
Hey Sorry für die späte Antwort. Nein, Ihre Antwort hat das Problem nicht gelöst. Danke trotzdem! –
Danke, Jan. Haben Sie etwas dagegen mitzuteilen, wie Sie das Problem gelöst haben? Ich bin interessiert zu erfahren, was das Problem verursacht hat. In diesem Fall. –
Noch keine Lösung, fürchte ich. Ich bin glücklich, diesen Thread zu aktualisieren, wenn ich es jemals lösen werde, ich nehme an, Sie werden eine Benachrichtigung erhalten, wenn ich es jemals tue? –