小编dea*_*ock的帖子

Jest - 在打字稿中模拟一个命名的类导出

我有一个节点模块,它导出几个类,其中一个是Client,我用它来创建一个客户端(有几个 API 作为方法)。

我正在尝试使用 Jest 测试使用此节点模块作为依赖项的模块。但是,我一直无法成功模拟search()Client 类中的一种方法(比如)。

这是我的规格myModule

//index.spec.ts
import * as nock from 'nock';
import * as externalModule from 'node-module-name';
import { createClient } from './../../src/myModule';
describe(() => {
  beforeAll(() => {
    nock.disableNetConnect();
  });
  it('test search method in my module', () => {
    jest.mock('node-module-name');

    const mockedClient = <jest.Mock<externalModule.Client>>externalModule.Client;

    const myClient = createClient({/*params*/}); //returns instance of Client class present in node module by executing Client() constructor
    myClient.searchByName('abc'); //calls search API - I need to …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing node.js typescript jestjs

3
推荐指数
1
解决办法
4005
查看次数

标签 统计

javascript ×1

jestjs ×1

node.js ×1

typescript ×1

unit-testing ×1