【发布时间】:2014-10-02 20:28:42
【问题描述】:
我正在使用 Mongoose 在 Node.js、Express 和 MongoDB 中构建一个 Web 应用程序。当我使用 Grunt 运行 Mocha 测试时,我希望有一个专用数据库,这样我就不会弄乱我用于开发的数据库。我该怎么做?
我目前在 /config/db.js 的一个文件中拥有我的开发数据库配置信息,该文件在启动时在我的 app.js 文件中加载并连接到我的开发数据库。我如何让在 Grunt 任务中运行的 Mocha 测试在运行 Grunt 时动态使用测试数据库?我试图在我的 Mocha 测试文件的 before() 挂钩中的测试文件中断开与开发数据库的连接,然后连接到测试数据库。但是,它继续使用开发数据库。一个例子如下:
before(function(done) {
if(mongoose.connection.db) mongoose.connection.close();
mongoose.connect(<test_db_uri>, done);
}
【问题讨论】:
标签: node.js mongodb express mongoose gruntjs