基于 vue 的 jest 配置配置项

1,110 阅读2分钟

基于 vue 的 jest 配置配置项 (一般项目使用基础配置项)

详细配置项请关注 jest 官方网站

displayName

displayName

允许标签在运行时与测试一起打印 == 常用于多个项目的测试用例区分

displayName: {
    name: 'CLIENT'// 设置测试控制台前面的提示语
    color: 'blue',  // 设置控制台提示语的背景颜色
}

verbose

指示是否应在运行期间报告每个单独的测试

在运行单独的测试文件时默认为 true,否则为 false

verbose: true

testURL

此选项设置 jsdom 环境的 URL。它反映在的属性中 location.href。

testURL: "http://localhost/"

rootDir

如果不设置的话则是包含你的玩笑目录的根目录配置文件,很多配置项的路径都是基于 rootDir,使用<rootDir>来表示

rootDir: path.resolve(__dirname, "./")

moduleFileExtensions

您的模块使用的文件扩展名数组

默认: ["js", "json", "jsx", "ts", "tsx", "node"]

moduleFileExtensions: ["js""json""vue"]

moduleNameMapper

从正则表达式到模块名称或模块名称数组的映射,类似于 webpack 中的别名

moduleNameMapper: [
    "^@/(.*?.?(js|vue)?|)$""<rootDir>/src/$1"
    // @路径转换,例如:@/components/Main.vue -> rootDir/src/components/Main.vue
]

testMatch

Jest 用于检测测试文件的全局模式,就是查找测试文件的匹配路径

testMatch: [
    "<rootDir>/tests/unit/*.test.js"
]

setupFiles

运行一些代码以配置或设置测试环境的模块的路径列表。每个 setupFile 将对每个测试文件运行一次。

setupFiles  : ["<rootDir>/tests/__mocks__/testSetup.js"],

transform

转换器是提供同步功能以转换源文件的模块.和 webpack 的 babel 一样

transform: {
    "^.+\\.js$": "<rootDir>/node_modules/babel-jest",
    ".*\\.(vue)$""<rootDir>/node_modules/vue-jest"
}

moduleDirectories

从需求模块的位置开始递归搜索的目录名称数组 == 寻找项目中引入的第三方包的位置

默认值︰["node_modules"]

moduleDirectories: ["node_modules"],

coverageDirectory

Jest 输出覆盖信息文件的目录

coverageDirectory: "<rootDir>/tests/unit/coverage"

collectCoverageFrom

指示一组应为其收集覆盖率信息的文件 == 可以确定哪些需要文件需要生成测试报告

collectCoverageFrom: [
    "src/**/*.(js|vue)",
    "!src/main.js",
    "!src/router/index.js",
    "!**/node_modules/**"
]