繁体   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