在使用 mocha 运行所有测试之前,我正在使用 mongoose 创建连接(并清理数据库),如下所示(_setup.js):
var mongoose = require('mongoose'),
nconf = require('nconf');
nconf.env().argv();
var _conn;
before(function(done){
_conn = mongoose.createConnection(nconf.get('TEST_DB'), function(error){
if(error) return done(error);
_conn.db.dropDatabase(done);
});
});
after(function(done){
_conn.db.dropDatabase(function(error){
if(error) return done(error);
_conn.close(done);
});
});
其他测试套件需要此连接来构建猫鼬模型。我使用的是单独的连接而不是默认的猫鼬连接,因为这些测试可以通过 mocha js api 在应用程序中运行。该应用程序使用默认的猫鼬连接。需要连接变量的示例测试:
var should = require('should'),
service = require('../lib/service')(_conn); // << somehow need that conn variable created in before tests
describe('Service', function(){
describe('#dodboperation()', function(){
//tests and stuff
无论如何在 mocha 中的文件/测试套件之间传递变量吗?建议?