包含vuetify的单元测试vue组​​件

时间:2020-04-19 19:36:38

标签: unit-testing vue.js jestjs vuetify.js

例如,如何在组件内部的v-autocomplete中触发更改事件,以便我

我尝试过类似的事情:

import SomethingAutocomplete from "@/components/SomethingAutocomplete.vue";
import { shallowMount } from "@vue/test-utils";
import { VAutocomplete } from "vuetify/lib";
import { Constructor } from "vue/types/options";

test("Some test", async () => {
  const wrapper = shallowMount(SomethingAutocomplete);
  let ac = wrapper.find(<Constructor>VAutocomplete);
  ac.trigger("input");
  await wrapper.vm.$nextTick();
  ...
  <handler was never called>
});

有任何提示吗? TIA。

1 个答案:

答案 0 :(得分:1)

trigger()仅用于触发组件内部的事件。由于在这里我们要检查由孩子发出的事件的行为,因此我们需要将事件发送给父组件。 这样就可以完成工作:

ac.vm.$emit("input", valueOfTheInput);