小编ruf*_*530的帖子

Vue.js 单元测试 ErrorBoundary

我已经在 Vue.js 中为我的项目构建了简单的 ErrorBoundary 组件,并且正在努力为其编写单元测试。组件代码如下:

<template>
  <div class="overvue-error-boundary">
    <slot v-if="!error" />
    <div class="error-message" v-else>Something went horribly wrong here.</div>
  </div>
</template>
<script>
export default {
  data () {
    return {
      error: false
    }
  },
  errorCaptured (error, vm, info) {
    this.error = true;
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

我创建了一个 ErrorThrowingComponent,它在created()生命周期挂钩上抛出错误,以便我可以测试 ErrorBoundary:

const ErrorThrowingComponent = Vue.component('error-throwing-component', {
  created() {
    throw new Error(`Generic error`);
  },
  render (h) {
    return h('div', 'lorem ipsum')
  }
});

describe('when component in slot throws an error', () => {
  it('renders …
Run Code Online (Sandbox Code Playgroud)

unit-testing vue.js vuejs2 vue-test-utils

3
推荐指数
1
解决办法
674
查看次数

标签 统计

unit-testing ×1

vue-test-utils ×1

vue.js ×1

vuejs2 ×1