繁体   English   中英

如何模拟函数的函数?

[英]How to mock functions of a function?

我在我的脚本中使用simple-git ,如下所示:

import simpleGit from 'simple-git'
const git = simpleGit()

const foo = async (): Promise<void> => {
  const tags: string = await git.tag({
    '--list': null,
    '--format': '%(objectname:short)'
  })
}

在我的测试中,我需要模拟 git 调用,我是这样做的:

jest.mock('simple-git', () => ({
  tag: () => jest.fn()
}))

但这是失败的。 我想,我必须照顾const git = simpleGit()

如果simple-git是通过node_module安装的(我假设是这样),您只需要在项目的根目录下创建一个名为__mocks__的目录,在您需要创建一个名为simple-git.js的文件的情况下,放置在那里的任何内容都会自动simple-git.js

.
├── __mocks__
│   └── simple-git.js
├── node_modules

参考: https : //jestjs.io/docs/manual-mocks#mocking-node-modules

暂无
暂无

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

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