node.js - MongoError:无法创建集合用户 - 数据库正在被删除
问题描述
我有一个 REST API,我正在为这个项目编写 TDD。我的 TDD 由两部分组成:路由和服务。我选择使用Jest。我有一个用于测试的MongoDB数据库。每次测试完成后,我都会使用该afterAll()
方法重置我的数据库。在这种方法中,我运行该mongoose.connection.dropDatabase
函数。
当我只运行一个测试文件时没有错误,但是当我运行多个测试文件时,我得到一个错误。错误信息:
MongoError:无法创建集合 auth-db.users - 数据库正在被删除。
我与您分享示例代码:
users.route.test.ts:
https://gist.github.com/mksglu/8c4c4a3ddcb0e56782725d6457d97a0e
users.service.test.ts:
https://gist.github.com/mksglu/837202c1048687ad33b4d1dee01bd29c
当我所有的测试运行时,“ sometimes
”给出错误。我写了上面的错误信息。此错误的原因是重置过程仍在继续。我无法解决这个问题。如果您能提供帮助,我将不胜感激。
谢谢。
解决方案
https://jestjs.io/docs/en/cli.html#runinband
您正在寻找的是 --runInBand 命令。这使得 jest 可以串行运行,而不是创建运行测试的子进程的工作池
推荐阅读
- reactjs - 怎么设置material-ui持卡人头像?
- android - 屏幕关闭时使用服务中的位置更新 MapView
- mongodb - 在其中一个 id 上执行 $dateToString 时,如何在 mongo 聚合 $group 中使用多个 id
- javascript - 如何在 Javascript 中同时转义 2 个函数
- kubernetes - 使用入口点脚本时,Vault 的 Kubernetes 注释未将机密文件挂载到 pod
- vb.net - 即使以全屏或 StretchToFit 播放,vb.net WMP 也会显示垂直条
- javascript - java-script 箭头函数返回 (x++,x)
- reactjs - ReactJS - 如何检查值是否未定义
- java - 如何在 TypeScipt 中以这种格式“2020-04-10T13:58:59.000+0000”格式化当前日期时间
- swift - 这是我的代码中的错误,还是我使用了错误的数组