vue.js - 使用 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());
});
});
});
解决方案
推荐阅读
- ajax - JSF:如何在父元素的复合组件中获取 id
- svelte - 如何在 Svelte 3 中有条件地添加和删除`use:`属性?
- c# - WPF 验证错误消息在字段有效之前不会触发
- java - 从 Firebase 获取数据并同时将其放在那里
- javascript - 如何将 Puppeteer“页面”实例传递给 Mocha 自定义报告?
- wordpress - WP 网站重定向到每个新设备中的订单接收页面
- ios - 在前端集成 Plaid API?
- jsp - JSP 代码在较长的用户名上中断
- python - 在 FTPS 服务器上使用 ftplib 列出目录时,sslobj.do_handshake 中的“OSError:[Errno 0] 错误”
- xml - 由 H2 DB 支持的 REST API 在插入带有 XML 字符串的行时的行为与 IBM DB2 不同