gpt4 book ai didi

Laravel - 设置测试数据库

转载 作者:行者123 更新时间:2023-12-04 23:50:02 26 4
gpt4 key购买 nike

在我的 Laravel 应用程序中,我有一堆迁移和数据库种子数据。
app/config/testing/database.php我已经设置了一个用于测试的 mysql 数据库。

我已经用 migrate 填充了测试数据库和 db:seed命令,指定测试环境。

这很有效,但我想在每次运行时调用这些命令 phpunit .如果它在 setUp 中执行,那么只要在每次测试中调用它就需要很长时间。

我也可以在setUpBeforeClass中调用它哪个更好,但如果我测试 10 个类(class),时间仍然更长。

当我运行 phpunit 时,有没有一种方法我可以只做一次?

最佳答案

现在我已经这样做了,在测试/TestCase.php

class TestCase extends Illuminate\Foundation\Testing\TestCase {

public static $setupDatabase = true;

public function setUp()
{
parent::setUp();
if(self::$setupDatabase)
{
$this->setupDatabase();
}
}

public function setupDatabase()
{
Artisan::call('migrate');
Artisan::call('db:seed');
self::$setupDatabase = false;
}

....

这似乎有效,但感觉并不理想,但这意味着如果我需要重置数据库进行测试,我可以轻松地重新设置数据库...

关于Laravel - 设置测试数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24718091/

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