gpt4 book ai didi

laravel - 在 Laravel 5.5 : Class env does not exist 中测试

转载 作者:行者123 更新时间:2023-11-28 20:01:42 24 4
gpt4 key购买 nike

我开始在 laravel 中测试

我用这个创建了一个“.env.testing”文件

APP_NAME=myApp
APP_ENV=testing
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://myApp.localhost

DB_CONNECTION=sqlite_testing

我在 config/database.php 文件的“连接”部分添加了这个

...
'sqlite_testing' => [
'driver' => 'sqlite',
'database' => ':memory:',
'prefix' => '',
],
...

在 phpunit.xml 文件中,我添加了:

<env name="DB_CONNECTION" value="sqlite_testing" />

我创建了一个 UserTest 功能:

class UserTest extends TestCase
{

public function setUp()
{
parent::setUp();
Artisan::call('migrate');
Artisan::call('db:seed');
}

public function tearDown()
{
parent::tearDown();
Artisan::call('migrate:reset');
}


public function testCanAccessUserSpace()
{
$user = factory(User::class)->create();

$response = $this->actingAs($user)
->get('/home');


$response->assertStatus(200);
}
}

但是当我运行测试时,我有这个:

ReflectionException: Class env does not exist

我的配置有什么问题?

谢谢

最佳答案

我在运行 phpunit 时遇到了同样的错误:

ReflectionException: Class env does not exist

这是另一个问题,我已经安装了软件包 telescope 并且 phpunit 尝试在测试时加载它:

ReflectionException: Class env does not exist
/var/www/html/mat2/vendor/laravel/telescope/src/Telescope.php:263
/var/www/html/mat2/vendor/laravel/telescope/src/Telescope.php:222

等等。我已经添加到 phpunit.xml:

<env name="TELESCOPE_ENABLED" value="false"/>

之后,测试运行正常。
所以,这可能是包测试相关的错误。

关于laravel - 在 Laravel 5.5 : Class env does not exist 中测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48766481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com