【发布时间】:2021-04-19 03:14:19
【问题描述】:
我正在使用 Lumen 8。
我想使用.env.testing里面的配置
但它总是读取.env里面的配置
测试/TestCase.php
<?php
use Dotenv\Dotenv;
abstract class TestCase extends Tests\Utilities\UnitTest\Testing\TestCase
{
public static function setUpBeforeClass(): void
{
Dotenv::createImmutable(dirname(__DIR__), '.env.testing')->load();
parent::setUpBeforeClass();
}
public function createApplication()
{
return require __DIR__ . '/../bootstrap/app.php';
}
}
.env.testing
APP_ENV=testing
APP_DEBUG=false
DB_CONNECTION=mysql
DB_HOST=db_testing
DB_PORT=3307
DB_DATABASE=db_testing
DB_USERNAME=db_username
DB_PASSWORD=db_password
.env
APP_ENV=local
APP_DEBUG=false
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3307
DB_DATABASE=db_local
DB_USERNAME=db_username
DB_PASSWORD=db_password
当我调试测试文件时
dd(DB::connection()->getDatabaseName());
它返回db_local 而不是db_testing
我不想在phpunit.xml 中添加我的所有配置
缺什么?我该怎么办?
【问题讨论】:
-
您是否使用 --env=testing 运行 artisan ? php 工匠 --env=testing
-
不。是必需的吗?我只是在运行我的单元测试,并弄清楚为什么我的单元测试仍然使用 .env.testing 而不是 .env
-
不。我已经看到了。
标签: php laravel api unit-testing lumen