我目前正在为nodejs应用程序编写一些测试。假设我有一个这样的模块:
module.exports = function myModule(moduleParam) {
var someVar;
....
....
function helper(param) {
return param + someVar;
}
return {
doSomething: function (bar) {
....
....
var foo = helper(bar);
....
....
}
};
};
假设'helper‘函数只在模块内有用,不应该暴露给外部。
测试它的“最佳实践”是什么?(当然,我可以将doSomething函数作为一个整体进行测试,但通过这种方式,“helper”函数是在特定情况下以“黑盒”方式进行测试的)。
我使用nodeunit作为测试框架,但我可以根据需要进行更改。
发布于 2013-03-11 01:50:34
你不会去测试它。单元测试是黑盒测试。这意味着你唯一要测试的就是公共接口,也就是契约。
这样的私有函数只有在重构公共函数时才会发生。
因此,如果您因此使用TDD,那么您的私有函数将被隐式测试。
如果这感觉错了,最常见的原因是你的结构错了。然后,您应该考虑将您的私有内容移动到一个额外的模块。
https://stackoverflow.com/questions/15322354
复制相似问题