javascript – 在功能继承中单元测试私有方法

我刚刚阅读了这本关于
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’的返回值.这只是一个例子,但我真的看不到任何方法来测试“私有”函数或特权函数调用它们应该的函数……任何想法?

最佳答案 你真的想测试私立吗?

我认为,只要您的公共方法按预期工作并向“外部世界”提供正确的结果,您就不应该关心它是什么以及如何在“框内”工作.

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

点赞