使用 prisma graphql api 在嵌套 js 中进行 e2e 测试

Posted

技术标签:

【中文标题】使用 prisma graphql api 在嵌套 js 中进行 e2e 测试【英文标题】:e2e testing in a nest js with prisma graphql api 【发布时间】:2020-03-31 23:08:23 【问题描述】:

我用 prisma graphql api 创建了一个嵌套 js。我如何为我的 api 创建和运行一些 e2e 测试。如果我可以针对我的暂存数据库运行测试,那将是理想的。下面是我的起点。但我不确定我需要在哪里定义我的 prisma 服务以及如何在我的测试中使用它。

 beforeEach(async () => 
        const moduleFixture: TestingModule = await Test.createTestingModule(
          imports: [
            UserModule,
            GraphQLModule.forRoot(
              autoSchemaFile: 'src/schema.graphql',
            ),
          ],
        ).compile();

        app = moduleFixture.createNestApplication();
        await app.init();
      );

亲切的问候,

格里

【问题讨论】:

【参考方案1】:

您有一个选择是创建一个PrismaService(或另一个与您通常在服务器中提供的名称相同的提供程序),它使用为测试环境配置的graphqlconfig文件(即用于测试数据库,无论是 sqlite 还是基于 docker 的数据库)。然后可以将PrismaService 添加到TestModuleproviders 数组中。

免责声明:我没有这样做,只是在我自己的应用程序中使用DatabaseService 做了类似的事情。

【讨论】:

以上是关于使用 prisma graphql api 在嵌套 js 中进行 e2e 测试的主要内容,如果未能解决你的问题,请参考以下文章

自定义功能用户的角色不起作用,嵌套查询,prisma graphql

PRISMA:如何接收 REST API 发布请求(非 GraphQL)?

如何使用 Prisma API 生成 JWT 令牌?

GraphQL Prisma 客户端连接不起作用

如何在 Dockerized GraphQL + Postgres 设置中运行 Prisma 迁移?

graphql 突变不返回嵌套字段