我正在开发一个现有的节点项目,其中大多数 js 文件的代码结构如下所示。
var mod1 = require("mod1");
var mod2 = require("mod2");
var modn = require("moden");
function func1(data, callback) {
// Do some validation with data etc..
// Use one or more imported modules here
}
function func2(data, callback) {
// Do some validation with data etc..
// Use one or more imported modules here
}
exports.func1 = func1
exports.func2 = func2
如何在不依赖导入模块的情况下对 func1 进行单元测试?我如何模拟/存根它们?我来自 Java 世界,所以我熟悉模拟概念,但在这里我不确定如何使用 require 模拟全局声明的模块导入。
目前我们正在使用 nodeunit 进行单元测试,但它只测试很小一部分代码。
我正在阅读有关 simon.js 和 testdouble 的信息,但不确定如何使用它们来模拟全局变量。
任何帮助/方向表示赞赏。