Unit testing Vue test reporter显示预期的抛出错误

Unit testing Vue test reporter显示预期的抛出错误,unit-testing,vue.js,mocha.js,Unit Testing,Vue.js,Mocha.js,我正在测试一个组件是否抛出错误,测试是否按预期通过,报告器仍然输出抛出的错误。 有没有办法防止这种情况?我不想在测试输出中看到预期的错误 该应用程序是使用Vue CLI生成的,我使用npm run test:unit运行测试,该测试对应于Vue CLI服务测试:unit 我尝试手动运行vue cli服务,并按照链接的方式传递-q和不同的报告程序vue cli服务测试:unit--help,但它们似乎根本不起作用(没有安静运行,没有不同的报告程序) 我用的是摩卡咖啡/柴 我的组件的脚本 导出默认

我正在测试一个组件是否抛出错误,测试是否按预期通过,报告器仍然输出抛出的错误。 有没有办法防止这种情况?我不想在测试输出中看到预期的错误

该应用程序是使用Vue CLI生成的,我使用
npm run test:unit
运行测试,该测试对应于
Vue CLI服务测试:unit

我尝试手动运行vue cli服务,并按照链接的方式传递
-q
和不同的报告程序
vue cli服务测试:unit--help
,但它们似乎根本不起作用(没有安静运行,没有不同的报告程序)

我用的是摩卡咖啡/柴

我的组件的脚本

导出默认值{
道具:{
foo:Array,
},
安装的(){
这个.bar();
},
方法:{
bar(){
if(this.foo.length==0){
抛出新错误(“数组为空”);
}
}
}

}
我也一样,我不喜欢测试输出中有一堆噪音。我要做的是暂时重新分配
控制台。错误
,然后重新分配。尝试:

// store a reference to the original function
const originalConsoleError = console.error;
// reassign to a no-op
console.error = () => {};
/** 
 * run tests
*/
// restore to aid in debugging further tests
console.error = originalConsoleError;

我无法重现这一点(例如,
expect(()=>throw new Error()).to.throw()
passes而不实际发出错误)。您可以显示您的测试代码吗?添加了一个类似于我的测试代码的示例,这似乎是一个已知问题:。我尝试了推荐的解决方法,但没有效果。你愿意我把黑客藏在图书馆吗?英雄联盟