问题描述
我正在尝试使用 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 (将#修改为@)