vue.js - 单元测试中的 Quasar Unknown 自定义元素错误
问题描述
我有一个使用 Quasar 按钮的简单 Vue 组件
<template>
<div>
<span class="count">{{ count }}</span>
<q-btn @click="increment">Increment</q-btn>
</div>
</template>
<script>
export default {
name: 'TestComponent',
data() {
return {
count: 0,
};
},
methods: {
increment() {
this.count += 1;
},
},
};
</script>
我为它创建了一个单元测试
import { mount, createLocalVue } from '@vue/test-utils';
import { Quasar, QBtn } from 'quasar';
import TestComponent from '../TestComponent';
describe('TestComponent', () => {
let wrapper;
beforeEach(() => {
const localVue = createLocalVue();
localVue.use(Quasar, { components: { QBtn } });
wrapper = mount(TestComponent, { localVue });
});
it('renders the correct markup', () => {
expect(wrapper.html()).toContain('<span class="count">0</span>');
});
// it's also easy to check for the existence of elements
it('has a button', () => {
expect(wrapper.contains('button')).toBe(true);
});
});
我的问题:
如果我一次一个地运行测试用例(
it
函数),测试将通过。例如,删除第二个it('has a button'...)
然后运行测试。它会过去的。删除第一个时是一样的it('renders the correct markup'...)
但是,如果我保留所有测试用例,然后运行测试。第二个测试用例将失败并出现错误
console.error node_modules/vue/dist/vue.common.dev.js:630
[Vue warn]: Unknown custom element: <q-btn> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
found in
---> <TestComponent>
<Root>
我究竟做错了什么?
解决方案
尝试删除之前的每个。我也看到了这个问题。不记得到底是什么修复了它,但这就是我的描述块。
describe('Mount Quasar', () => {
const localVue = createLocalVue()
localVue.use(Quasar, { components })
const wrapper = shallowMount(Register, {
localVue,
stubs: ['router-link', 'router-view']
})
const vm = wrapper.vm
it('passes the sanity check and creates a wrapper', () => {
expect(wrapper.isVueInstance()).toBe(true)
})
})
推荐阅读
- elasticsearch-aggregation - 如何在 Elasticsearch 7.6.2 中编写不同的查询
- android - 调用 setImageURI() 时出现 FileNotFoundException:/data/user/0/com.myapp/files/1585300417998.jpg:打开失败:ENOENT
- mysql - Aurora MySQL - 存储过程中的慢速 CREATE TABLE 语句
- c++ - exec*() 在 C++ 中,我们通常的退出保证会发生什么?
- wordpress - 在 WP 中更改永久链接结构后如何修复 503 错误?
- c# - EF.NET Core:一个事务中的多个插入流
- r - 我想在 R 中加入两个表,其中一个变量完全匹配,另一个变量部分匹配
- elasticsearch - 如何改进 Elasticsearch 中的搜索?
- google-maps-api-3 - 谷歌放置自动完成会话令牌时间验证
- python - 我无法添加产品图片,它显示属性错误