我使用 Mocha/Chai 测试 JavaScript 前端代码,现在我们切换到 TypeScript。我有几个要测试的功能。但它们不应该是可导出的。我可以在不向它们添加 export
的情况下访问此函数并对其进行测试吗?
最佳答案
无法访问未导出的模块函数。
module MyModule {
function privateFunction() {
alert("privateFunction");
}
}
MyModule.privateFunction(); // Generates a compiler error
但是,撇开私有(private)方法测试的有效性问题不谈,这里是您可以做的。
将您的函数分组到一个实用程序类中,然后利用可以通过方括号表示法访问私有(private)类成员这一事实。
module MyModule {
export class UtilityClass {
private privateFunction() {
alert("privateFunction");
}
}
}
var utility = new MyModule.UtilityClass();
//utility.privateFunction(); Generates a compiler error
utility["privateFunction"](); // Alerts "privateFunction"
关于javascript - 测试未导出的 TypeScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31922977/