javascript - 函数继承中的单元测试私有(private)方法

标签 javascript

我刚刚读了这本关于 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)方法按预期工作并向“外部世界”提供正确结果而言,您不应该关心它在“框内”工作的内容和方式。

查看更多信息:Should I test private methods or only public ones?

关于javascript - 函数继承中的单元测试私有(private)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6594186/

相关文章:

javascript 按单词自动完成段落

javascript - 是什么导致我的 React 应用程序中出现警告 "Unexpected Fiber popped"?

javascript - 如何防止 getJSON 或类似的 ajax 请求解析为 JSON

javascript - 如何更新使用自定义 Hook 的变量的状态值

javascript - PHP 将文件文本附加到所有 JavaScript 文件

javascript - 使用与 HtmlWebpackPlugin 和 EJS 相同的模板文件?

javascript - 如何为每个类应用一个函数的效果?

javascript - 通过页面刷新和页面更改持久化套接字

javascript - 使用 array.splice() 第一个参数未定义,仍然有效

javascript - 使用 CodeIgniter 时应该如何组织 javascript