是否可以使用ts-jest / jest监视通用函数并在Typescript环境中模拟返回值?

时间:2019-12-06 16:33:57

标签: typescript jestjs ts-jest

我是新用户,试图通过ts-jest在Typescript环境中学习开玩笑。我希望“ spyOn”的功能之一是使用泛型。可以窥探泛型函数并模拟类型化的返回值吗?

例如:

const allSpy = jest.spyOn<Api, 'all'>(Api.prototype, 'all');

我尝试过:

const allSpy: jest.SpyInstance<Observable<AxiosResponse<unknown[]>>, [string, (ITransform<any, any> | undefined)?]>

在这种情况下, allSpy 具有以下类型信息:

 const response: AxiosResponse<MyObj[]> = {
      data: [
        { id: 1014760, objName: 'Object 1' },
        { id: 1015762, objName: 'Object 2' },
      ],
      status: 200,
      statusText: 'ok',
      headers: {},
      config: {},
    };
allSpy.mockReturnValueOnce(response); // type error for response

如果我尝试模拟返回值,则会收到类型编译错误:

separate_rows

1 个答案:

答案 0 :(得分:0)

尝试以桩代替间谍,您将能够得到它。