【发布时间】:2015-11-06 06:54:40
【问题描述】:
我正在使用 TypeScript 编写代码。这是我的代码 sn-p:
module mymodule {
export function internalFunc() {
return 1;
}
export function externalFunc() {
return internalFunc() + 1;
}
}
会编译成这个JS:
var mymodule;
(function (mymodule) {
function internalFunc() {
return 1;
}
mymodule.internalFunc = internalFunc;
function externalFunc() {
return internalFunc() + 1;
}
mymodule.externalFunc = externalFunc;
})(mymodule || (mymodule = {}));
//# sourceMappingURL=file1.js.map
我需要使用存根 internalFunc 测试 externalFunc(例如,它应该返回 7)。但是对internalFunc 的引用已关闭,我可以更改mymodule.internalFunc,但externalFunc 将使用旧的internalFunc。我尝试使用sinon.stub(mymodule, 'internalFunc', function() {return 7}),但也没有用。我可以正确地存根我的函数吗?
【问题讨论】:
-
此时您应该测试的“单元”可能是您的整个模块。您不需要在单个功能级别进行单元测试。
-
"我可以更改 mymodule.internalFunc,但 externalFunc 将使用旧的 internalFunc" - 这听起来不正确。您能否详细说明您在测试中是如何尝试的?
标签: javascript unit-testing typescript mocha.js sinon