【问题标题】:Error while running integration test with Prisma Migrate使用 Prisma Migrate 运行集成测试时出错
【发布时间】:2021-07-01 02:19:51
【问题描述】:

对于迁移管理,我决定使用Prisma Migrate 而不是node-pg-migrate (PostgreSQL)。我按照this 链接中的说明进行操作,一切正常。但是,主要挑战是我的集成测试在尝试在测试数据库(而不是开发数据库)上运行迁移时失败。如何覆盖我的测试数据库的配置?

node-pg-migrate 中,我可以在运行集成测试之前简单地提供配置:

import migrationRunner from 'node-pg-migrate';

// --- Integration test setup:
beforeAll(async () => {
  await migrationRunner({
    migrationsTable: dbConfig['migrations-table'],
    dir: dbConfig['migrations-dir'],
    schema: dbConfig.schema,
    databaseUrl: databaseURL,
    // --- other configs
  });
}, config.get('test').timeout);

【问题讨论】:

    标签: postgresql testing prisma


    【解决方案1】:

    您可以直接在测试设置as follows 中覆盖整个连接字符串。 Prisma 从环境变量中读取 DB 字符串,因此以下列方式覆盖将正常工作。

    【讨论】:

    • 很好,但是我无法覆盖测试的环境变量。我想为每个测试单独配置 DATABASE_URL。
    • 应该可以在 beforeEach 块中通过覆盖该变量的 process.env 来进行测试。
    猜你喜欢
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-10
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多