iT邦幫忙

0

vue test utils 的wrapper 找不到class

  • 分享至 

  • twitterImage

問題已解決,原因在於我用的環境是happy-dom
vue-test-utils和happy-dom看起來還有些相容問題
issues #513
改回jsdom就可以了


我想練習在我的vite專案上加測試,用的是官方的vue-test-utils和vitest
但馬上就出錯了,mount完的wrapper找不到class
因為是第一次做測試也不知道問題在那,請大大們幫忙


button.vue

<script setup lang="ts">
import { ref } from "vue";

const count = ref(0);
</script>

<template>
  <button type="button" class="i-am-class" @click="count++">
    count is: {{ count }}
  </button>
</template>

button.spec.ts

import Button from "@/components/Button.vue";
import { mount } from "@vue/test-utils";
import { describe, test, expect } from "vitest";

describe("Button", () => {
  test("btn class test", () => {
    const wrapper = mount(Button);
    const btn = wrapper.find("button");

    expect(btn.classes()).toContain("i-am-class");

    wrapper.unmount();
  });
});

結果

有想過是不是vitest的問題,但換成jest還是一樣
也有想過是不是button根本就沒有抓到,但測試後是有的

console.log(btn.html());

大概就這樣,請幫幫忙,還缺什麼可以補

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答