簡體   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