gpt4 book ai didi

node.js - 清晰的手动模拟 Jest

转载 作者:行者123 更新时间:2023-12-02 21:31:50 26 4
gpt4 key购买 nike

我正在对模块使用手动模拟。我想清除手动模拟中的模拟函数,并模拟为其返回一个新值。我怎样才能做到这一点?我尝试了很多方法,但它总是在手动模拟中返回值。我在 beforeEach 中使用 jest.clearAllMocks()jest.resetAllMocks() 并使用 mockReturnValue 来模拟该函数的新值,但它没有改变。这是我的手动模拟

const firebase = {};
firebase.storage = {
bucket: jest.fn(),
upload: jest
.fn()
.mockResolvedValue([
{ getSignedUrl: jest.fn().mockResolvedValue(["link"]) }
]),
file: _ => ({
delete: jest.fn()
})
};
module.exports = firebase;

我得到了值link,但我无法在单元测试中模拟其他值

最佳答案

您需要在特定的模拟中使用其中之一:

有两种方法可以创建mockFn实例:

const mockFn = jest.fn()

或者通过导入模拟:

import mockFn from 'mockedModule'
jest.mock('mockedModule', ()=> jest.fn())

关于node.js - 清晰的手动模拟 Jest ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54819731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com