诗浓不替换功能

时间:2021-04-24 16:25:50

标签: node.js typescript jestjs sinon stub

我有一个正在控制器中使用的函数;

我正在尝试使用 supertest 测试调用端点的控制器的捕获。

我试图用 sinon 存根函数以强制它抛出错误,但如果函数抛出错误,它应该返回 500 时会继续返回 http 201。似乎存根不起作用!

一段测试代码:


import * as services from '../../../src/domain/farm/service';

describe('Farm.insertOneController', () => {
  beforeEach(async () => {
    sandbox = Sinon.createSandbox();
  });

  afterEach(async () => {
    sandbox.restore();
  });

  it('should throw error', async () => {
    sandbox.stub(services, 'insertOneFarmService').throws();

    const r = await global.testRequest
      .post('/v1/farms')
      .set('authorization', `Bearer ${token}`)
      .send({ name: 'Farm1'});

    expect(r.status).toBe(500);
  });
});

我试图存根的函数:

export const insertOneFarmService = async (f: FarmCreateDTO): Promise<Farm> => {
  return await insertOne(f);
};

导出服务的索引:

export * from './insert-one';

感谢您的帮助!

0 个答案:

没有答案