我如何开玩笑地嘲笑 mailchimp_transactional

How do I mock mailchimp_transactional in jest

我正在尝试找出如何在我的测试中正确模拟 @mailchimp/mailchimp_transactional npm 模块。

我对它如何从文档中导入 mailchimp 感到困惑,并立即使用 API 键

调用构造函数
const mailchimp = require('@mailchimp/mailchimp_transactional')(API_KEY);

根据 Jest 文档,我通常会用

之类的东西来模拟它
jest.mock('@mailchimp/mailchimp_transactional');

但我不确定如何使用伪造的 API 密钥创建实例?我一直在尝试调用 mailchimp 的模拟版本时得到未定义的结果。我还需要模拟一个 constructor() 函数吗?

我觉得应该是这样的:

jest.mock(
  '@mailchimp/mailchimp_transactional',
  () => API_KEY => ({ object that mocks mailchimp })
);