【发布时间】:2021-10-15 20:46:30
【问题描述】:
我在我的脚本中使用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()
【问题讨论】:
-
mockImplementation 参数是一个返回测试替身的工厂函数。您正在尝试替换一个函数,工厂提供了一个对象。所以我猜当你说“失败”(在minimal reproducible example 中包含输出)时,你被告知它是不可调用的。
标签: javascript unit-testing testing jestjs