test mole通过偷偷摸摸测试JavaScript闭包
测试 JavaScript 中的闭包很难,因为大部分代码都隐藏在闭包中。例如,在这个例子中我们不能直接测试内部函数 isNumber:
var add = ( function ( ) {
function isNumber ( x ) {
return typeof x === 'number';
}
return function add ( a , b ) {
if ( isNumber ( a ) && isNumber ( b ) )
return a + b;
return 'arguments should be numbers';
};
} )();
我们也许可以将 isNumber 移动到另一个库,但通常我们的逻辑过于具体。我们 isNumber 的测试方法也许能帮助我们更好地理解闭包的行为。
下载地址
用户评论