【发布时间】:2018-10-29 21:53:28
【问题描述】:
我正在使用 Mocha、Chai 和 Mongoose 为我的 Node.js 应用程序编写单元测试。如果集合为空(根据需要),测试本身会起作用,但我在测试之前无法清除集合。
let mongoose = require("mongoose");
let Subject = require('../Subject/subject');
//Require the dev-dependencies
let chai = require('chai');
let chaiHttp = require('chai-http');
// let server = require('../server');
let server = "http://localhost:3000"
let should = chai.should();
chai.use(chaiHttp);
describe('subjects', () => {
before((done) => { //Before each test, empty the database
Subject.remove({})
done();
});
describe('/GET subject', () => {
// working test
});
describe('/POST subject', () => {
// working test
});
describe('/GET subject', () => {
// working test
});
});
我也尝试过
Subject.deleteMany({}, (err) => console.log(err));
和
Subject.find({}, (subject)=>{
subject.remove({}).exec()
})
在前块内无济于事。为了以防万一,我也尝试了在 before 块之外的删除。如果我 console.log(Subject.remove({})) 我得到了 Subject 对象,那么它就可以访问它,只是实际上并没有用它做任何永久性的事情。
我已经做了几个小时了,还没有更接近弄清楚,所以感谢所有帮助。
【问题讨论】:
标签: node.js unit-testing mongoose mocha.js chai