繁体   English   中英

Javascript单元测试Jasmine /单元测试-如何测试是否已调用私有函数?

[英]Javascript Unittesting Jasmine / Unit Testing - how do I test whether a private function has been called?

我正在尝试查看是否已调用私有函数。 最终,我要去寻找在其中设置的变量。

我的JavaScript看起来像下面的带有函数和私有函数的

mysamplefunction = function(item){

   /* figure out bla */       
   _myprivatefunction(item,bla)

}

_myprivatefunction = function(item, bla){


    /* do lots of exciting private things with item and bla */
}

茉莉花似乎期望以下语法..

 spyOn(mysamplefunction ,'_myprivatefunction');

但是,由于我们没有严格处理mysamplefunction和_myprivatefunction的实例,所以它不是一个方法(它只是另一个类),所以我不确定如何使它工作? 有任何想法吗 ??

如果函数按照您的描述进行声明,那么我期望:

spyOn(window, '_myprivatefunction');

上班。

如果函数在闭包内,则window必须变成类似

TopLvlHeir.2ndlvel.samplefunctionpkg.publicTesting

唯一的要求是它是一个包含_myprivatefunction属性的_myprivatefunction ,例如firstArg[secondArg]是一个函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM