【发布时间】:2019-03-16 19:27:26
【问题描述】:
我试图通过 PHPUnit 了解如何在 laravel 项目中使用 Gitlab CI。正如 Laravel 的 documentation 中所写,我添加了 PHPUnit-bridge 和 composer require --dev symfony/phpunit-bridge
。
我的gilab-ci.yml文件
image: php:7.2-cli
services:
- mysql:latest
cache:
paths:
- vendor/
stages:
- connect
- test
- deploy
variables:
# Configure mysql service (https://hub.docker.com/_/mysql/)
MYSQL_DATABASE: deshautsdebats
MYSQL_USER: root
MYSQL_ROOT_PASSWORD: root
MYSQL_PASSWORD: root
before_script:
- apt-get update -yqq
- apt-get install git -yqq zlib1g-dev
# Install mysql driver
- docker-php-ext-install pdo_mysql zip
# Install composer
- curl -sS https://getcomposer.org/installer | php
# Install all project dependencies
- php composer.phar install
test:
stage: test
script:
- ls -lad bin/
- ./bin/phpunit
当我在本地输入./bin/phpunit 时,它可以工作,但是当它由 CI 制作时,如果说:
/bin/bash: line 90: ./bin/phpunit: 没有这样的文件或目录
我试图用./vendor/bin/phpunit 替换./bin/phpunit,但它抛出了同样的错误......你知道吗?
谢谢,
【问题讨论】:
-
好的,我按照[那些步骤](docs.gitlab.com/ee/ci/examples/php.html)解决了这个问题
-
Symfony 使用“symfony/phpunit-bridge”进行单元测试。这个包下载并安装phpunit。将本地 bin/phpunit 提交到 repo 并添加到 gitlab 缓存 bin/.phpunit 目录。
-
@AntoineD 您可以在上面发表您的评论作为答案并将其标记为正确。