【发布时间】:2021-07-03 14:37:52
【问题描述】:
我有两个文件,其中一个我初始化了一个松弛的 Web API 客户端,然后发布一条消息,并根据一个模拟值对其进行测试:
main.ts:
import { WebClient } from '@slack/web-api';
const slack = new WebClient(process.env.SLACK_API_KEY as string);
slack.chat.postMessage({...});
test.ts
import { WebClient } from '@slack/web-api';
let slack: WebClient;
beforeAll(async () => {
slack = new WebClient();
});
jest.mock('@slack/web-api', () => {
return {
chat: jest.fn(),
postMessage: jest.fn(),
};
});
describe('test', () => {
it("tests slack message", async () => {
expect(slack.chat.postMessage).toBeCalledWith({...});
})
})
问题是当我运行此代码时出现以下错误:TypeError: web_api_1.WebClient is not a constructor
我尝试了各种不同的方法,包括模拟模块,使用esModule: true,而不是定义 WebClient。我的问题是我做错了什么?
【问题讨论】:
标签: node.js typescript jestjs