无法在 Travis-CI 中运行 Laravel 测试

时间:2021-04-05 17:27:58

标签: php mysql laravel travis-ci

我正在尝试在 travis-ci 中运行我的测试。下面是我的 .travis.yml 文件

dist: bionic
language: php
php:
  - 7.4.15
services:
  - mysql
cache:
  directories:
    - node_modules
    - vendor
before_script:
  - cp .env.travis .env
  - sudo mysql -e 'create database furahasms_testing;'
  - composer self-update
  - composer install --prefer-source --no-interaction --dev
  - php artisan key:generate
  - php artisan migrate
  - php artisan test
script:
  - vendor/bin/phpunit

在 Travis Log 中我看到下面

$ cp .env.travis .env                                      before_script.1     0.00s
$ sudo mysql -e 'create database furahasms_testing;'       before_script.2     0.01s
$ composer self-update                                     before_script.3     0.28s
$ composer install --prefer-source --no-interaction --dev  before_script.4   241.94s
$ php artisan key:generate                                 before_script.5     0.27s
$ php artisan migrate                                      before_script.6     2.22s
$ php artisan test
   FAIL  Tests\Unit\ServerRunningTest
  ⨯ root route status ok
  ⨯ api authentication ok with correct credentials
  ⨯ api authentication fails with correct credentials invalid token

....
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)
 at vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
     66▕         if (class_exists(PDOConnection::class) && ! $this->isPersistentConnection($options)) {
     67▕             return new PDOConnection($dsn, $username, $password, $options);
     68▕         }
     69▕ 
  ➜  70▕         return new PDO($dsn, $username, $password, $options);
     71▕     }
     72▕ 
     73▕     /**
     74▕      * Determine if the connection is persistent.

这是文档的摘录

<块引用>

MySQL 绑定到 127.0.0.1 和一个在 ~travis/.my.cnf 中定义的套接字并且需要身份验证。您可以使用用户名 travis 或 root 以及空白密码进行连接。

为什么我无法运行测试?从日志中,迁移成功运行

以下是可能有助于帮助调试问题的其他文件

.env.travis

APP_NAME=Cronhub
APP_ENV=testing
APP_KEY=Sometring
APP_DEBUG=true
APP_URL=http://localhost/
DB_CONNECTION=testingTravis
DB_TEST_USERNAME=root
DB_TEST_PASSWORD=
BCRYPT_ROUNDS=4
CACHE_DRIVER=array
MAIL_DRIVER=array
QUEUE_CONNECTION=sync
SESSION_DRIVER=array
BUGSNAG_API_KEY=randkey

database.php

    'testing' => [
      'driver' => 'mysql',
      'host' => env('DB_TEST_HOST', 'localhost'),
      'database' => env('DB_TEST_DATABASE', 'furahasms_testing'),
      'username' => env('DB_TEST_USERNAME', 'homestead'),
      'password' => env('DB_TEST_PASSWORD', 'secret'),
      'charset' => 'utf8',
      'collation' => 'utf8_unicode_ci',
      'prefix' => '',
      'strict' => false,
    ],
    'testingTravis' => [
      'driver' => 'mysql',
      'host' => env('DB_TEST_HOST', 'localhost'),
      'database' => env('DB_TEST_DATABASE', 'furahasms_testing'),
      'username' => env('DB_TEST_USERNAME', 'root'),
      'password' => env('DB_TEST_PASSWORD', ''),
      'charset' => 'utf8',
      'collation' => 'utf8_unicode_ci',
      'prefix' => '',
      'strict' => false,
    ]

这是一个 Laravel 应用程序

0 个答案:

没有答案
相关问题