我刚刚阅读了这本关于
Javascript的测试驱动开发的好书,在那里他提到了一种创建具有私有成员的对象的惊人方式,最初由Douglas Crockford创建,称为“功能继承”.它是这样的:
this.funcInh = function() {
var privateString = "functional inheritance";
function setPrivateString(string) {
privateString = string;
}
function getPrivateString() {
return privateString;
}
return {
setPrivateString: setPrivateString,
getPrivateString: getPrivateString
};
};
虽然我真的很喜欢这种创建对象的方式,但我想知道如何测试它,除了测试特权函数’setPrivateString’和’getPrivateString’的返回值.这只是一个例子,但我真的看不到任何方法来测试“私有”函数或特权函数调用它们应该的函数……任何想法?
最佳答案 你真的想测试私立吗?
我认为,只要您的公共方法按预期工作并向“外部世界”提供正确的结果,您就不应该关心它是什么以及如何在“框内”工作.