gpt4 book ai didi

sqlite - 在测试套件之前迁移内存 sqlite 中的数据库

转载 作者:IT王子 更新时间:2023-10-29 06:26:45 25 4
gpt4 key购买 nike

我有一个 laravel 项目的测试套件。现在我使用磁盘文件进行测试。

问题:有没有一种方法可以在启动测试套件之前只使用一次内存数据库和迁移数据库?

明确一点:我只想迁移数据库一次。我将有超过 100 个测试,我只想执行一个迁移

最佳答案

在你的 TestCase.php (或者在任何其他测试中,如果你只想在该测试中使用内存数据库)你可以覆盖 setUp() 方法

public function setUp()
{
parent::setUp();

$this->app['config']->set('database.default', 'testing');
$this->app['config']->set('database.connections.testing', [
'driver' => 'sqlite',
'database' => ':memory:',
'prefix' => ''
]);
}

您也可以在测试类主体中使用 Illuminate\Foundation\Testing\DatabaseMigrations。在这种情况下,php artisan migrate:refresh 将在每次测试之前调用

<?php

use Illuminate\Foundation\Testing\DatabaseMigrations;

class ExampleTest extends TestCase
{
use DatabaseMigrations;

// ...
// test cases
// ...
}

关于sqlite - 在测试套件之前迁移内存 sqlite 中的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39104997/

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