【发布时间】:2019-09-13 14:52:31
【问题描述】:
当我在 Typescript 中编写测试时,这里真的很痛苦。我在 api 中有我的功能
api.ts
export getModel = () => {...} //return a promise
当我尝试用 Jest 模拟它时。我收到错误消息:类型上不存在属性 mockRejectedValueOnce ...
import {getModel as mockGetModel} from './api'
jest.mock('./api, () => {
return {getModel: jest.fn(() => Promise.resolve())}
})
it('should ...', () => {
mockGetModel.mockRejectedValueOnce('hello') //error here
})
我尝试将它转换为 any,但我得到了错误
TS2349: Cannot invoke an expression whose type lacks a call signature.
尝试了很多方法,但我仍然无法用 Jest 模拟该功能。你们能告诉我正确的方法吗?
谢谢
【问题讨论】:
-
您是否已经安装了
@types/jest包?mockRejestedValueOnce应该是mockRejectedValueOnce。 -
是的,我已经为 Jest 安装了类型
-
mockGetRequest是另一个模拟函数吗?还是mockGetModel? -
感谢编辑