如何解决使用prisma和graphql测试流程
我正在使用pyramida-graphql作为后端服务器,并使用jest&supertest测试graphql查询。 对于测试环境,我想建立一个内存数据库来在测试阶段创建和检索数据。我的问题是,
-
为pyramida客户端配置测试数据库的好方法是什么?我是否需要在全部阶段之前配置内存数据库?像下面一样?
//setup.js for test beforeAll(async() => { db = new sqlite3.Database(':memory:',(err) => { if (err) { return console.error(err.message); } console.log('Connected to the in-memory SQlite database.'); }); })
-
如何以及何时可以运行pyramida的命令?例如,我需要在内存db中运行以下命令以创建表。 https://github.com/prisma/prisma/issues/732似乎暗示在内存中迁移是没有意义的-换句话说,它不支持这种事情?
npx prisma migrate --experimental save/up npx prisma generate
解决方法
我建议针对实际的数据库进行集成测试,因为它们将是根据执行的查询/突变来测试代码的好方法。
我已经创建了一个仓库here,该仓库针对一个实际的数据库执行集成测试,并且该仓库用于GraphQL。这些从头到尾包含整个Jest设置。