如何在jasmine中测试嵌套函数?

如何在jasmine中测试嵌套函数?,jasmine,Jasmine,我们可以在jasmine中测试嵌套函数吗?它给出了一个错误,即“无法读取未定义的属性'inner'。请注意以下几点: 我的测试文件是 describe('sample.js', function(){ it('test', function(){ expect(outer()).toBe(true); expect(inner()).toBe(true); }); }); function outer()

我们可以在jasmine中测试嵌套函数吗?它给出了一个错误,即“无法读取未定义的属性'inner'。请注意以下几点:

我的测试文件是

describe('sample.js', function(){
        it('test', function(){
            expect(outer()).toBe(true);
            expect(inner()).toBe(true);
        });
    });
 function outer(){
        function inner(){
            return true;
        };
        return true;
    };
java脚本文件是

describe('sample.js', function(){
        it('test', function(){
            expect(outer()).toBe(true);
            expect(inner()).toBe(true);
        });
    });
 function outer(){
        function inner(){
            return true;
        };
        return true;
    };

不能测试嵌套函数,因为它们在父函数中是私有的

解决方案是将其移到嵌套函数之外。例如:


函数outer(){return true;}
函数内部(){return true;}

正确。但是不应该仅仅为了测试而导出私有/内部函数。如果某个功能是私有的(出于某种原因),那么只有公共功能的整体结果才是有意义的,应该进行测试。