Jest 测试 Vue 组件报错问题

2023-02-21 14:28:45 +08:00
 sonders

test.spec.ts

// test.spec.ts
// import add from "./add";
import { mount } from "@vue/test-utils";
import HelloWorld from "../components/HelloWorld.vue";
describe("test", () => {
  it("first", () => {d);
    expect(wrapper.text()).toConta
    const wrapper = mount(HelloWorlin("Hello world");
  });
});

jest.config.js

module.exports = {
    roots: ["<rootDir>/src", "<rootDir>/packages", "<rootDir>/test"],
    preset: 'ts-jest',
    moduleFileExtensions: ['vue', 'js', 'json', 'jsx', 'ts', 'tsx', 'node'],
    transform: {
      '^.+\\.vue$': '@vue/vue3-jest', // vue 文件用 vue-jest 转换
      '^.+\\.ts$': 'ts-jest', // ts 文件用 ts-jest 转换
      '^.+\\js$': 'babel-jest',
    },
    // 为了修复 Consider using the "jsdom" test environment. 问题
    testEnvironment: "jsdom",
    collectCoverage: true,
    /** 全局 alias */
    moduleNameMapper: {
      "^@/(.*)$": "<rootDir>/src/$1"
    },
    collectCoverageFrom: [
      "**/*.{js,vue}",
      "!**/node_modules/**",
      "!**/vendor/**",
      "!**/coverage/**",
      "!**/*.config.*",
      "!src/main.js"
    ],
    globals: {
      'ts-jest': {
        useESM: true,
        tsConfig: {
          target: 'ES2019'
        },
      }
    }
  };
247 次点击
所在节点    问与答
1 条回复
sonders
2023-02-21 18:20:54 +08:00
已解决。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/917925

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX