Node.js 如何使用AVA和Mongoose运行并行测试

Node.js 如何使用AVA和Mongoose运行并行测试,node.js,testing,mongoose,mocking,ava,Node.js,Testing,Mongoose,Mocking,Ava,基于对处理并发和原子测试的讨论() 我想要最好的方法来并行测试我的服务器端点 我使用的是koajs服务器和mongodb数据库(mongoose) 我试图使用Mockgoose()创建一个临时内存Mongood,它不会持久化数据 我想知道为每个测试创建一个单独的数据库是否是一个好方法 有这样的例子吗?很棘手。我制作了一个模块来处理这个问题- 它通过使用内存mongo和创建代理来工作。在您的测试中,您将创建一个随机数据库名称,模块将负责为您创建和加载/清除这些随需应变数据库。不是针对AVA,而是针

基于对处理并发和原子测试的讨论()

我想要最好的方法来并行测试我的服务器端点

我使用的是koajs服务器和mongodb数据库(mongoose)

我试图使用Mockgoose()创建一个临时内存Mongood,它不会持久化数据

我想知道为每个测试创建一个单独的数据库是否是一个好方法


有这样的例子吗?

很棘手。我制作了一个模块来处理这个问题-


它通过使用内存mongo和创建代理来工作。在您的测试中,您将创建一个随机数据库名称,模块将负责为您创建和加载/清除这些随需应变数据库。

不是针对AVA,而是针对Jest,您可以使用Jest设置创建一个新环境,使用库为每个测试构建mongodb数据库


我在这里详细介绍了这一点:

当在单独的文件中编写测试时,难道你没有从Ava获得并行性吗?我们需要一个不同的数据库和服务器来让每个测试在其他测试中工作,而不会产生副作用。a,我认为在每个测试文件的before处理程序中使用单独的Mockgoose实例没有问题。看起来Mockgoose在建立连接时自动创建了一个DB?看看这个解决方案:您是否在每次连接之前尝试了
而不是之前的
?我想我不知道为什么不能在测试之前初始化模拟数据库并以串行方式运行测试。如果需要为每个测试清理数据库,可以在每次测试之前的
中进行清理。但实际的数据库连接和实例应该在所有测试之前完成一次。使用Ava的串行标志以确保连接不会被滥用。