代码之家  ›  专栏  ›  技术社区  ›  Adam

刷新数据库的速度非常慢

  •  0
  • Adam  · 技术社区  · 7 年前

    我使用的是LaravelV5.6.26、PHPUnit 6.5.8和PHP7.2.9。

    这是我的完整测试课程:

    class ExampleTest extends TestCase
    {
    
        use RefreshDatabase;
    
        /** @test */
        public function basicTest()
        {
            $this->assertTrue(true);
            $this->assertFalse(false);
        }
    }
    

    我打电话 phpunit 来自家园。

    没有 use RefreshDatabase 这需要 513 毫秒。具有 使用刷新数据库 需要 17.29 . 我现在有72张桌子。

    enter image description here

    我只想测试与一个表关联的一个模型。看来刷新72张空桌子要花很多时间。我试图删除除我需要的表之外的所有表,但是 使用刷新数据库

    我怎样才能加快速度?

    我不认为硬件是这里的问题。那是我的电脑: Ram 32 GB,Intel Core i7-7700K CPU@4.20GHz 8,GeForce GTX 1070/PCIe/SSE2,我运行的是Ubuntu 18.04.1 LTS 64位。

    1 回复  |  直到 7 年前
        1
  •  5
  •   Remul    5 年前

    除非你使用 SQLite ,为每个测试迁移数据库的速度非常慢。

    你能做的就是使用 DatabaseTransactions 在测试开始时启动事务并在测试结束时回滚的特性。

    你可以在 docs blog .

    推荐文章