我正在创建一个工厂方法,我将返回一个节点模块的实例
var dal1 = require(' ../ dal / dal1');
var dal2 = require(' ../ dal / dal2');
exports.createDAL(角色){
开关(角色){
case "XYZ": return dal1;
case "ABC": return dal2
} };
使用Mocha作为TDD框架工作,当我得到返回的对象时,我将returnObject.constructor.name的值作为对象而不是dal1或dal2。有什么指针吗?
答案 0 :(得分:0)
所以我继续使用node-module'util'。我能够获得预期的价值,而不仅仅是'对象'
我创建了一个DAL对象
//dal.js
function dal(){
}
dal.prototype.BLAH = function(){
//logic here
}
module.exports = dal
//dal1.js
var inherits = require('util').inherits;
function dal1(){
dal1.call(this);
}
inherits(dal1,dal);
module.exports = dal1;
//similarly dal2.js
//finally in factory
var dal1 = require('./dal1');
var dal2 = require('./dal2');
switch(role){
case 'XYZ': return new dal1();
case 'ABC' : return new dal2();
}