我正在尝试rethinkdb
通过expresso
. 我有功能
module.exports.setup = function() {
var deferred = Q.defer();
r.connect({host: dbConfig.host, port: dbConfig.port }, function (err, connection) {
if (err) return deferred.reject(err);
else deferred.resolve();
});
return deferred.promise;
});
我正在像这样测试它
module.exports = {
'setup()': function() {
console.log("in setup rethink");
db.setup().then(function(){
console.log(clc.green("Sucsessfully connected to db!"));
}).catch(function(err){
console.log('error');
assert.isNotNull(err, "error");
});
}
};
我正在运行这样的代码
expresso db.test.js
error 100% 1 tests
但是即使出现错误,expresso 也会显示。我试图放入throw err;
,catch
但没有任何变化。
但是如果我把它放在assert.eql(1, 2, "error");
开头,setup()
它会按预期失败;
有什么东西可以缓存错误吗?我怎样才能让它失败呢?因为squalize
我发现
Sequelize.Promise.onPossiblyUnhandledRejection(function(e, promise) {
throw e;
});
是否有类似的东西可以重新思考数据库?