在相对路径上嘲笑

Nic*_*nto 3 javascript testing mocking ecmascript-6 jestjs

我正试图开玩笑地嘲笑相对路径.相同的代码,但有嘲弄fs工作很好,所以我不知道为什么试图模拟我自己的模块不起作用

// myFile.js
const { cacheFile } = require('./cacheHandler.js')

const myFunc = () => {
  cacheFile(file_name)
}

// myFile.spec.js

const myFile = require('./myFile.js')
const cacheHandler = require('./cacheHandler.js')

jest.mock('./cacheHandler.js')

describe("my failing test :( ", () =>{
  it("should be able to spy on the function", () => {
    cacheHandler.cacheFile = jest.fn()

    myFile.myFunc()

    expect(cacheHandler.cacheFile).toHaveBeenCalledTimes(1)   
  }
}
Run Code Online (Sandbox Code Playgroud)

jest声称cacheFile()从未被调用过,尽管我调试这个时我可以看到它已经达到了这个功能......

我错过了什么?

And*_*rle 11

你必须像这样嘲笑它:

jest.mock('./cacheHandler.js', ()=>({cacheFile: jest.fn()}))
Run Code Online (Sandbox Code Playgroud)