【发布时间】:2020-10-16 04:51:12
【问题描述】:
我正在进入应用程序测试的世界,我对如何测试有一些疑问,主要是因为语言和子组件。
基本上,我尝试运行的第一个测试是涵盖列表页面是否包含正确的数据。
我目前的结构是以下结构-
组件结构
baseTable
|- columnHeader
|- rowRoute
根据用户所在的路线,在baseTable 组件中动态导入表格主体。
例如,活动页面是用户,所以它会导入rowUsers。
我遇到的第一个错误是在 columnHeader 组件中出现错误
vm.$t is not a function
第二个错误在它所说的组件 rowUsers中
[Vue warn]: Unknown custom element: <router-link> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
第三个错误是rowUsers组件不存在。
expect( wrapper.find( rowUsers ).exists()).toBe( true );预期:真 收到:假
我试图通过包装器上的 i18n 和路由器链接,但它仍然不起作用。
import { shallowMount } from '@vue/test-utils';
import baseTable from '@/components/bundles/tables/baseTable';
import rowUsers from '@/components/dynamic/tables/rowUsers';
import i18n from '@/plugins/i18n';
describe( 'Lists', () => {
it( 'Users list', () => {
// mock from user
const fields = [{
email: 'user@mail.com',
name: 'user 1',
role: 'admin'
}];
const wrapper = shallowMount( baseTable, {
propsData: {
url: 'users',
headers: [ null, 'name', 'email', 'role' ],
fields: fields,
row: 'Users'
},
stubs: ['router-link'],
i18n
});
expect( wrapper.find( rowUsers ).exists()).toBe( true );
})
})
有什么建议吗?
【问题讨论】:
标签: vue.js jestjs vue-router vue-test-utils vue-i18n