使用Jest模拟Google存储文件中的getSignedUrl



我有一段代码,利用getSignedUrl

onst [url] = await blob.getSignedUrl({ action: 'read', expires: Date.now() + 60 * 1000, contentType: mimetype })

不幸的是,firebase模拟器不能签名URL,我的解决办法是模拟blob.getSignedUrl的返回值

import { File } from '@google-cloud/storage'
jest.mock('File', () => ({
...jest.requireActual('@google-cloud/storage'),
getSignedUrl: jest.fn().mockReturnValue({ url: 'http://' }),
}))

虽然这没有效果。我如何模拟getSignedUrl函数?

jest.mock以模块名(或路径)作为参数

我猜你想做的是用一个间谍:

import { File } from '@google-cloud/storage'
const spy = jest.spyOn(File.prototype, 'getSignedUrl')
spy.mockReturnValue({ url: 'http://' })
// if you dont need to keep spy you can do it in one line :
// jest.spyOn(File.prototype, 'getSignedUrl').mockReturnValue({ url: 'http://' })

相关内容

  • 没有找到相关文章

最新更新