当前位置: 首页 > 面试题库 >

测试时出现“不建议使用mpromise(Mongoose的默认promise库)”错误

薛涛
2023-03-14
问题内容

一段时间以来,我一直收到此错误,我决定今天修复它,但是一个小时后尝试修复它,我可以找到解决方案。

当我测试猫鼬用户模型时,会生成此错误/警告:

Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html

这是我的测试:

  1 var assert = require('chai').assert;
  2 var mongoose = require('mongoose');
  3 var clearDB = require('mocha-mongoose')(require('../../config/database').uri, { skip: ['workouts'] });
  4 var database = require('../../config/database').connect;
  5
  6 var User = require('../../app/models/user');
  7 var user = new User({});
  8
  9 var req_body = {
 10   username: "garyvee",
 11   email: "gary@vaynermedia.com",
 12   password: "secret"
 13 };
 14
 15 describe('User', function() {
 16   beforeEach(function(done) {
 17     user.username = "johnsmith";
 18     user.email = "john@gmail.com";
 19     user.password = "secret";
 20     done();
 21   });
 22
 23   it('can be saved', function() {
 24     return user.save(function(err: any) {
 25       assert.isNull(err);
 26     })
 27   });
 28 });

我认为它与无关,.save但我不知道如何解决。有人可以帮助我,告诉我如何解决它,以便不显示错误/警告。


问题答案:

您需要插入一个Promise库(q,bluebird,es6一个…)

mongoose.Promise = require('bluebird');


 类似资料:
  • 我正在使用mocha和chai对AngularJS服务执行一些单元测试。该服务具有不同的功能,每个功能都返回一个promise。 我面临的问题是,测试不是在断言之前等待promise值得到解决。我知道做()回调可以用摩卡。所以,我试着用它。但这也给了我一个错误。这是代码: 因此,现在的问题是测试没有失败(它应该失败)。相反,它只是超时并给我一个错误:“超时超过2000ms。请确保在此测试中调用了d

  • 我想在我的应用程序中实现google maps。我添加了google maps活动并创建了一个键。当使用mapsacivity.java文件时,显示了一些错误代码。我尝试了很多解决方案,但都没有成功。 任务:App:ProcessDebugManifest失败 错误:[com.android.support:support-compat:28.0.0]AndroidManifest.xml:22:

  • 我有一个自定义的参数解析器,它在Spring 3.0.7中工作,但在Spring 3.1.2中失败。下面显示堆栈跟踪和测试驱动程序代码。 当我查看堆栈跟踪时,似乎没有调用。相反,我在堆栈跟踪中看到。 建议? 最后...这里是Spring配置中的注释驱动标记

  • 我正在尝试使用新房间的图书馆,但我遇到了这个错误 错误:查询有问题:[SQLITE_ERROR]SQL错误或缺少数据库(没有这样的表:Station) 错误:不确定如何将游标转换为此方法的返回类型 MyDao.kt 实体

  • 问题内容: 当我尝试使用命令测试任何应用程序时(当我尝试使用使用此命令的结构来部署myproject时,我注意到了该应用程序): 我收到此错误: 命令似乎起作用。我在settings.py中的数据库设置: 问题答案: Django运行测试套件时,在您的情况下,它将创建一个新数据库。具有用户名的postgres用户没有创建数据库的权限,因此出现错误消息。 当您运行或时,Django不会尝试创建数据库

  • 我在测试方面有问题。这是我第一次写测试,我遇到了一个问题。 我刚刚在我的应用程序中创建了一个测试文件夹,并且用于测试URL。 当我键入: 它说: 创建别名默认的测试数据库...创建测试数据库时出错:数据库"database_name"已经存在 如果要尝试删除测试数据库“database_name”,请键入“yes”,或键入“no”取消: 这是什么意思?如果我输入yes会发生什么?我是否丢失了数据库