簡體   English   中英

如何測試內部 function

[英]How to test an internal function

我正在嘗試創建一個單元測試來覆蓋內部 function

文件A.js

module.exports.functionA = () {
  
  const functionB = () {
    // do something
  }

  functionB()
}

測試.js

const { functionA } = require('fileA')

...

it('runs functionB', () => {
  functionA()
  expect(...).toHaveBeenCalled()
}

我如何訪問它?

這里有兩種可能性(您的情況看起來像第一種,但出於問題的目的也很明顯地簡化了)。

任何一個:

  • functionB完全是functionA私有的,它是其實現的一部分,這意味着您無法訪問它來(直接)對其進行測試。 相反,測試functionA ,它可能使用functionB作為它所做工作的一部分(否則,在functionA中完全私有的 function 沒有意義)。

    或者

  • functionA以某種方式公開functionB (例如,作為返回值,或作為返回的 object 上的方法,或通過在傳入的 object 上設置它等),在這種情況下,您可以通過任何方式獲取它functionA提供然后測試它。

(同樣,我認為你的情況是第一個。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM