如何在Vue测试工具中禁用“检测到全局错误处理程序”警告

时间:2019-09-24 18:17:03

标签: vue.js vue-test-utils

我正在使用vue-test-utilsjest使用此处描述的方法创建异步测试:

https://vue-test-utils.vuejs.org/guides/#what-about-nexttick

如下所示设置Vue.config.errorHandler = done的位置

  test('Then we are shown events in EventCreate component', done => {
    Vue.config.errorHandler = done

这是有效的,并且当组件中的promise处理程序中引发错误时,我的测试将失败。但是我收到此警告。

    console.error node_modules/@vue/test-utils/dist/vue-test-utils.js:1421
      [vue-test-utils]: Global error handler detected (Vue.config.errorHandler). 
      Vue Test Utils sets a custom error handler to throw errors thrown by instances. If you want this behavior in your tests, you must remove the global error handler.

我不想使用此警告将测试输出作为垃圾邮件。有办法禁用它吗?

1 个答案:

答案 0 :(得分:0)

这就是我的做法

beforeEach(() => {
  jest.spyOn(console, 'error');
  console.error.mockImplementation(() => 'some error');
        });
afterEach(() => {
  console.error.mockRestore();
});