Lumen: PHPUnit give failure but testing passed in Gitlab CI Runner

491 views Asked by At

This is my first time to use testing in my project. I use Gitlab CI and gitlab runner to perform test. But something weird happened, when phpunit executed the output is failure, but the test result in gitlab is passed. Gitlab should be show failed result.

I use Lumen 5.1. And Gitlab Runner using docker.

This is my .gitlab-ci.yml file

image: dragoncapital/comic:1.0.0

stages:
 - test

cache:
 paths:
  - vendor/

before_script:
 - bash .gitlab-ci.sh > /dev/null

test:7.0:
 script:
  - phpunit

This is my .gitlab-sh.sh file

#!/bin/bash

# We need to install dependencies only for Docker
[[ ! -e /.dockerenv ]] && exit 0

set -xe

composer install
cp .env.testing .env

The log and result:

Fail test, passed status

As you can see the phpunit test fail, but the status in gitlab CI is passed.

Update:

The log ouput is quite different in my local computer, but the results are error/fail.

Local phpunit

1

There are 1 answers

0
Fathur Rohman On

At least I figured out what wrong with this test. There are two phpunit in this system, and I called the wrong one.

First, I installed phpunit using apt-get command, so phpunit is installed as Ubuntu package.

And secondly, Laravel/Lumen provided phpunit in vendor/bin.

When I just typing phpunit in terminal, it call phpunit that provided by Ubuntu, and this give me unexpected results. But, everything ok when I call vendor/bin/phpunit instead of just phpunit.