Seedebuggeroutputherevarexpect=require('chai').expectvarUser=require('../../app/models/index.js').Userdescribe('ModelUser',function(){it('addauser',function(done){varuser=newUser({uname:'cx',password:'cx'})user.save()//Model#save()returnPromise.then(function(user,effectNum){done()//successstate}
我一直收到超时错误,它一直告诉我确认我已经调用了done(),即使我已经调用了。constmocha=require('mocha');constassert=require('assert');constStudent=require('../models/student.js');describe('CRUDTests',function(){it('CreateRecord',function(done){vars=newStudent({name:"Yash"});s.save().then(function(){assert(s.isNew===false);done();}
我一直在到处寻找这个。有些人似乎是这样mongoose.connect('mongodb://localhost/test');然后继续他们的describe调用。那么异步等待呢?vardb=mongoose.connection;db.on('error',console.error.bind(console,'connectionerror:'));db.once('open',function(callback){//yay!});我应该如何在Mocha测试中使用此连接?我应该将所有测试都放在回调中吗?我应该将等待连接的代码包装在单元测试中吗?连接是否会在describe和it之
我已经在这个网站和网络上搜索了一段时间,但我找不到解决这个问题的方法。我正在尝试测试我的API的REST功能,但PUT测试似乎从未起作用。每次在mocha中运行测试时,我都会收到错误“Uncaughtassertionerror:expected[]toequal{objectData}”,其中objectData是我尝试发布的对象(名为couponTwo)的json表示形式。我感觉问题出在beforeEach函数上,因为它会在每次测试前清除数据库,而许多其他测试需要执行此操作才能正确运行。这是测试代码:varconfig=require('../config/config');var
我正在使用Mongoose在Node.js、Express和MongoDB中构建网络应用程序。当我用Grunt运行我的Mocha测试时,我想有一个专用的数据库,这样我就不会弄乱我用于开发的数据库。我该怎么做?我目前在/config/db.js的文件中有我的开发数据库配置信息,该文件在启动时加载并连接到我的app.js文件中的开发数据库。我如何让在Grunt任务中运行的Mocha测试在运行Grunt时动态使用测试数据库?我试图在我的Mocha测试文件中的before()Hook中与我的测试文件中的开发数据库断开连接,然后连接到测试数据库。但是,它继续使用开发数据库。示例如下:before
感觉很迷茫,怎么在mocha中单元测试涉及到mongodb,我还是不能成功调用save函数,没有异常抛出。我尝试用最简单的例子进行测试,发现还是有问题,这是我的代码。varassert=require("assert")varmongoose=require('mongoose');mongoose.connect('mongodb://localhost/dev',function(err){if(err)throwerr});describe('incrementId',function(){describe('increment',function(){it('shouldhas
我对使用Mongoose对ExpressRESTAPI进行单元测试感到很困惑。我听说过supertest、sinon、chai和mocha。我想编写测试:1)测试API接口(interface):创建一个super测试服务器并向其发出请求(例如GET/users、POST/users)并检查它是否调用了正确的路由。2)测试Mongoose查询:当路由被调用时,我想检查是否调用了正确的mongoose函数(find,findById)并且它返回了正确的数据(假数据),比如:当调用User.findId时,返回假用户(在beforeEach中定义的数据)。这是sinonstub的用途吗?3
我已经开始使用mocha,但我遇到了一个特定测试用例的问题。这是代码:varassert=require("chai").assert;varrequest=require('supertest');varhttp=require("http");varconf=require("../config/config");varapp=require("../app");varmongoose=require('mongoose');varUser=mongoose.model('User');describe('Usercontroller',function(){describe('P
我有一个node.js+express网络服务器,我正在使用Mocha进行测试。我在测试工具中启动Web服务器,并连接到mongodb以查找输出:describe("Api",function(){before(function(done){//startserverusingfunctionexportedfromanotherjsfile//connecttomongodb});after(function(done){//shutdownserver//closemongoconnection});beforeEach(function(done){//emptymongocol
我在mocha的某个地方声明为:assert.equal(model.organizationId,objId);但我得到失败的mocha结果:UncaughtAssertionError:"5225777180a843d901000012"=="5225777180a843d901000012"为什么会发生,当ID相同时。如何克服它? 最佳答案 所以在这方面,javascript中的mongodbObjectIds令人沮丧。它们是不同的对象,导致obj1===obj2评估为false,即使它们表示的值相同。有3个选项:在比较之前转