基于处理并发和原子测试(https://github.com/avajs/ava/issues/472)
的讨论我想要最好的方法来并行测试我的服务器端点。
我正在使用koajs服务器和mongodb数据库(mongoose)
我正在尝试使用Mockgoose(https://github.com/mccormicka/Mockgoose)来创建一个不会持久存储数据的临时内存mongod
我想知道为每个测试创建一个单独的数据库是一种好方法吗?
有这方面的例子吗?
答案 0 :(得分:1)
棘手。我制作了一个模块来处理这个问题 - https://github.com/cyberwombat/mongoprime
它通过在内存中使用mongo并创建代理来工作。在您的测试中,您将创建一个随机数据库名称,该模块将负责为您创建和加载/清除这些随需应变数据库。
答案 1 :(得分:1)
不是AVA,而是Jest,您可以使用Jest testEnvironment设置创建一个新环境,该环境使用库mongodb-memory-server为每个测试构建一个mongodb数据库。
我已经在这里写了更多详细信息:https://itnext.io/parallel-testing-a-graphql-server-with-jest-44e206f3e7d2