我有一个nodejs项目,在这个项目中,我试图使用mongodb-memory-server作为数据库运行一些测试,但是每当我测试数据库相关的东西时,我总是得到MongooseError: Operation
users.findOne()buffering timed out after 10000ms
。
这是我的package.json文件
{
"name": "auth",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "ts-node-dev --poll src/index.ts",
"test": "jest --watchAll --no-cache"
},
"jest": {
"preset": "ts-jest",
"testEnvironment": "node",
"setupFileAfterEnv": [
"./src/test/setup.ts"
]
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@types/cookie-session": "^2.0.44",
"@types/express": "^4.17.17",
"@types/jsonwebtoken": "^9.0.1",
"cookie-session": "^2.0.0",
"express": "^4.18.2",
"express-async-errors": "^3.1.1",
"express-validator": "^6.15.0",
"jsonwebtoken": "^9.0.0",
"mongoose": "^7.0.3",
"ts-node-dev": "^2.0.0",
"typescript": "^4.9.5"
},
"devDependencies": {
"@types/jest": "^29.5.0",
"@types/supertest": "^2.0.12",
"jest": "^29.5.0",
"mongodb-memory-server": "^8.12.1",
"supertest": "^6.3.3",
"ts-jest": "^29.0.5"
}
}
我正在使用mongodb-memory-server@8.12.1
我希望我的测试能够通过,并且我希望从数据库中获取数据。
我尝试降级mongodb-memory-server包,但仍然得到相同的结果
2条答案
按热度按时间t1rydlwq1#
我已经能够得到这个工作后,5小时的战斗与这个问题...这个问题是在我的package.json文件中的jest块.我使用setupFileAfterEnv而不是setupFilesAfterEnv.请检查那个地方,如果你有这个问题.谢谢
5vf7fwbs2#
要解决这个问题,请确保调用mongoose.connect(),如果您通过调用mongoose.model()来定义模型:
}
试试看