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