首页 > 解决方案 > 使用 Vue test-utils 的测试之间的组件清理失败

问题描述

我有一个简单的组件(HelloComponent)和几个测试。首先测试浅挂载组件,在控制台上打印它(组件的包装器),最后destroy()在它上面调用 api。第二个测试只是打印它而不安装它。我是,expecting the second test to print undefined但它打印与第一次测试相同的东西(完整组件标记)。我的期望不正确吗?

<!-- HelloComponent.vue -->
<template>
    <div>
        Hello {{name}}!
    </div>
</template>
<script lang="ts">
    export default {
        name: 'Hello',
        data() {
            return {
                name: ''
            };
        },
        methods: {
            setName(name) {
                this.name = name;
            }
        }
    }
</script>
import { shallowMount } from '@vue/test-utils';
import HelloComponent from '@/HelloComponent.vue';

describe('Hello component unit tests', () => {
  let wrapper;

  describe('Set 1', () => {
    it('should load component', () => {
        wrapper = shallowMount(HelloComponent, {});
        expect(wrapper.exists()).toBe(true);
        wrapper.vm.setName('oomer');
        console.log(wrapper.html());
        wrapper.destroy();
    });
  });

  describe('Set 2', () => {
    it('should log empty component', () => {
      expect(wrapper.vm.name).toEqual('oomer');
      console.log(wrapper.html());
    });
  });
});

标签: vue.jscode-cleanupvue-test-utils

解决方案


推荐阅读