Javascript 如何在Jest中正确地模拟类模块?

Javascript 如何在Jest中正确地模拟类模块?,javascript,typescript,jestjs,ts-jest,Javascript,Typescript,Jestjs,Ts Jest,我正在使用这个振幅模块,它要求我首先实例化一个类,然后使用实例方法。代码如下: var Amplitude = require('amplitude'); const amplitude = new Amplitude(process.env.amplitudeApiKey); 然后我稍后调用await amplication.track({something:'here'}),并希望模拟它,以便不调用外部库,并且我可以验证参数。我必须初始化一个类,这一事实让我很恼火 我尝试使用\uuuuuu

我正在使用这个
振幅
模块,它要求我首先实例化一个类,然后使用实例方法。代码如下:

var Amplitude = require('amplitude');
const amplitude = new Amplitude(process.env.amplitudeApiKey);
然后我稍后调用
await amplication.track({something:'here'})
,并希望模拟它,以便不调用外部库,并且我可以验证参数。我必须初始化一个类,这一事实让我很恼火


我尝试使用
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。就我个人而言,我不知道该如何嘲笑这种情景。有什么想法吗?

所以我最终采用了这种方法


“Typescript建议自动模拟,这已经变成了一个”你能澄清或重新措辞这个吗?打开。基本上,它建议使用自动模拟,但据我所知,网络请求仍在尝试。这意味着您在jest配置中启用了吗?我想我没有,但我看到它现在默认启用了
const Amplitude = require('amplitude');
jest.mock('amplitude');

test('#trackInAmplitude calls the amplitude track event', async () => {
  // Put the code here that calls my `track method`
  const mockAmplitude = Amplitude.mock.instances[0];
  expect(mockAmplitude.track.mock.calls[0][0]).toEqual('argument body');
});