我在运行npm run测试时遇到问题。错误是
[Vue warn]: Unknown custom element: <nuxt-link> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
SidebarCMS.spect.js
import { shallowMount } from "@vue/test-utils";
import SidebarCMS from "../layouts/SidebarCMS";
const factory = () => {
return shallowMount(SidebarCMS, {});
};
describe("SidebarCMS", () => {
test("renders properly", () => {
const wrapper = factory();
expect(wrapper.html()).toMatchSnapshot();
});
});
谁能帮帮我?
2条答案
按热度按时间wwwo4jvm1#
您可以在创建示例时
stub
子组件。有关存根组件的更多信息,请查看此链接。试试这样,这将解决你的警告!.
o2rvlv0m2#
从Naren接受的答案是可行的,但并不能解释所有的用例。
用例一:
我不需要访问NuxtLink的内部元素。=〉存根是一个很好的选择,所以这引出了Naren的答案:
用例二:
出于某些原因,我想访问NuxtLink的内部元素。=〉存根不起作用,相反,我们可以在测试文件中定义一个自定义组件:
注意:我们仍然需要在存根中列出NuxtLink并将其设置为false:
这样做的目的是将nuxt-link替换为您为其定义的模板。使用过的html元素会被保留,属性(如classes或“to”属性)会自动应用。
这意味着,给定nuxt-link的以下用法
,wrapper的输出。html将被