我有一个从NPM导入的模块。本质上,其结构如下:
module.exports = function a() {
return 'a';
};
module.exports.b = function b() {
return 'b';
};
在打印到控制台时,将产生以下结构:{ [Function: a] b: [Function: b] }
。
如何在不使用module.exports
的情况下模仿此结构?我需要这个,以便可以在Jest中对其进行模拟。
我尝试了以下方法,但这些方法均无效:
const a = {
function() {
return 'a';
},
b() {
return 'b';
},
};
结果:{ function: [Function: function], b: [Function: b] }
并且:
function A() {
this.b = function b() {
return 'b';
};
return 'a';
}
结果:[Function: A]
我也尝试了其他几种方法,但是以上两种方法似乎是最有前途的。
答案 0 :(得分:1)
module.exports
只是一个变量,因此您可以完全遵循库代码,但可以将其分配给您选择的变量:
const a = function() {
return 'a';
}
a.b = function() {
return 'b';
}