Неизвестный пользовательский элемент: при использовании createLocalVue - PullRequest
0 голосов
/ 10 апреля 2020

Я хочу проверить рендеринг компонента <router-link>. Тест проходит успешно, но я получаю предупреждение при использовании createLocalVue:

[Vue warn]: Unknown custom element: <router-link> - did you register the component correctly?

Мой тестовый пример:

import { shallowMount, createLocalVue } from "@vue/test-utils";
import VueRouter from "vue-router";
import NewsItem from "@/components/home/NewsItem";

const localVue = createLocalVue();
localVue.use(VueRouter);
const router = new VueRouter();

describe("NewsItem.vue", () => {
   it("should link to full post", () => {
    const wrapper = shallowMount(NewsItem, {
      localVue,
      router,
      stubs: ["router-link"],
      propsData: {
        link: "my-mock-news"
      }
    });

    expect(wrapper.get(".news").attributes().to).toContain("my-mock-news");
  });
});

Если я импортирую стандартный Vue и вызываю на нем все, все кажется правильным, но документация Vue Test Utils предлагает не загрязнять Vue и вместо этого использовать локальный Vue, поэтому я бы хотел этого избежать. Или я ошибаюсь?

import Vue from "vue";
Vue.use(VueRouter);

Я тоже пробовал это решение, но безуспешно:

stubs: {
    RouterLink: RouterLinkStub
}
...