0

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

var Amplitude = require('amplitude');
const amplitude = new Amplitude(process.env.amplitudeApiKey);

然后我稍后调用await amplitude.track({something: 'here'})并想模拟它,以便不调用外部库并且我可以验证参数。我必须初始化一个类的事实让我对模拟感到失望。

我尝试使用__mocks__文件夹,但 Typescript 建议使用已转为一个的自动模拟。对于我的生活,我无法弄清楚如何模拟这种情况。有任何想法吗?

4

1 回答 1

0

所以我最终使用了 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');
});
于 2019-12-06T02:06:24.600 回答