微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ava 抛出 npm ERR! sinon 存根引发新错误时测试失败

如何解决ava 抛出 npm ERR! sinon 存根引发新错误时测试失败

我有以下测试到达端点。服务方法存根抛出错误

应用程序中抛出的任何错误都由全局错误处理程序处理,处理程序返回状态为 500 的错误,例如:

{
  success: false,message: "Something went wrong!"
}
/* eslint-disable no-param-reassign */

const test = require('ava');
const sinon = require('sinon');
const request = require('supertest');

require('dotenv').config();

// dependency to be stubbed
const { CountryService } = require('../../src/components/country/country.component');

// stubs
const error = new Error('Some Error');
const doGetCountries = sinon.stub(CountryService,'doGetCountries').throws(error);
const app = require('../../src/app');

test.before(async (t) => {
  t.context.stubs = {
    doGetCountries,};
  t.context.apiUrl = '/api/v1/countries';
  t.context.server = request(app);
});

test.after.always((t) => {
  delete require.cache[require.resolve('../../src/app')]; // kills server
});

test('Throws Internal Server',async (t) => {
  const { server,apiUrl,stubs } = t.context;
  const res = await server
    .get(apiUrl)
    .set('accept','application/json');
  t.true(res.status === 500);
  t.true(stubs.doGetCountries.calledOnce);
});

当我运行测试时它失败了,但没有错误消息

npm ERR! Test Failed.  See above for more details.

如果执行 studb.resolve({}) 则测试通过。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?