我刚刚读了这本关于 Javascript 测试驱动开发的好书,他在其中提到了一种使用私有(private)成员创建对象的惊人方法,最初由 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”的返回值之外,我究竟该如何测试它。这只是一个例子,但我真的看不出有什么方法可以测试“私有(private)”函数或特权函数调用它们应该调用的函数……有什么想法吗?
最佳答案
你真的要测试私有(private)吗?
我认为,就您的公共(public)方法按预期工作并向“外部世界”提供正确结果而言,您不应该关心它在“框内”工作的内容和方式。
关于javascript - 函数继承中的单元测试私有(private)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6594186/