首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >NuxtJS,使用Jest和nuxt-i18n的单元测试语言选择器

NuxtJS,使用Jest和nuxt-i18n的单元测试语言选择器
EN

Stack Overflow用户
提问于 2019-04-11 18:18:59
回答 1查看 642关注 0票数 2

我有一个使用nuxt-i18n切换nuxtjs应用程序语言的组件,如下所示

代码语言:javascript
复制
<template>
  <div class="navbar-item has-dropdown is-hoverable">
    <a class="navbar-link langpicker">{{ $t("language_picker") }} </a>
    <div class="navbar-dropdown is-hidden-mobile">
      <div>
        <nuxt-link
          v-if="currentLanguage != 'en'"
          class="navbar-item"
          :to="switchLocalePath('en')"
        >
          <img src="~/static/flags/us.svg" class="flagIcon" /> English
        </nuxt-link>
        <nuxt-link
          v-if="currentLanguage != 'el'"
          class="navbar-item"
          :to="switchLocalePath('el')"
        >
          <img src="~/static/flags/el.svg" class="flagIcon" /> Ελληνικά
        </nuxt-link>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  name: "LangPicker",
  computed: {
    currentLanguage() {
      return this.$i18n.locale || "en";
    }
  }
};
</script>

我想写一个Unit Test来测试点击'nuxt-link‘时正确的语言切换。

到目前为止,我有以下内容

代码语言:javascript
复制
import { mount, RouterLinkStub } from "@vue/test-utils";
import LangPicker from "@/components/layout/LangPicker";

describe("LangPicker with locale en", () => {
  let cmp;
  beforeEach(() => {
    cmp = mount(LangPicker, {
      mocks: {
        $t: msg => msg,
        $i18n: { locale: "en" },
        switchLocalePath: msg => msg
      },
      stubs: {
        NuxtLink: RouterLinkStub
      }
    });
  });

  it("Trigger language", () => {
    const el = cmp.findAll(".navbar-item")
  });
});

cmp.find(".navbar-item")返回一个空对象。

我不知道我必须如何设置才能“触发”点击事件。

代码语言:javascript
复制
const el = cmp.findAll(".navbar-item")[1].trigger("click");
EN

回答 1

Stack Overflow用户

发布于 2019-06-09 13:51:03

确保您的查找选择器正确。

代码语言:javascript
复制
const comp = cmp.find(".navbar-item");
comp.trigger('click');

您可以使用chrome dev工具选择器实用程序。有关详细信息,请参阅this链接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55630154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档