簡體   English   中英

錯誤:未捕獲 [TypeError:default is not a constructor] jest mock

[英]Error: Uncaught [TypeError:default is not a constructor] jest mock

我有一個在我的組件中使用的服務類 FooService.js

export default class FooService {
  saveInfo = (params) => {
    //method implementation here.
  };
}

我在我的組件 Foo.tsx 中的 saveData 方法中使用它,如下所示:

const saveData = (message: string) => {
    const fooService = new FooService();
    fooService.saveInfo(params);
  };

我正在嘗試在 Foo.test.tsx 中模擬我的 FooService

jest.mock('src/js/services/FooService', () => {
  return {
    _esModule: true,
    default: jest.fn().mockImplementation(() => {
      return {
        saveInfo: jest.fn(),
      };
    }),
  };

當我在調試模式下從 Foo.test.tsx 文件運行我的測試用例時,我能夠進入 saveData 方法。 但是,當我點擊const fooService = new FooService(); 行,它會引發以下錯誤: TypeError: FooService_1.default is not a constructor

請讓我知道我在 jest.mock 中缺少什么。 提前致謝!

用 __esModules 替換 _esModules 解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM