诗浓不替换功能

问题描述

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

我正在尝试使用 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';

感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...