- 版本:3.0.4
- GitHub: https://github.com/pietdevries94/nativescript-vue-jest
- NPM: https://npmjs.net.cn/package/nativescript-vue-jest
- 下载
- 昨日: 0
- 上周: 0
- 上个月: 0
nativescript-vue-jest
支持源映射和 NativeScript 的 Jest Vue 转换器。是 vue-jest 的分支。
此转换器默认为 Web 模板。要更改此设置,请将 globals.vue-jest.platform 更改为所需平台。
注意: 这是
[email protected]
的文档。 查看 [email protected] 文档
使用方法
npm install --save-dev nativescript-vue-jest
设置
要将 nativescript-vue-jest
定义为 .vue
文件的转换器,将其映射到 nativescript-vue-jest
模块
{
"jest": {
"transform": {
"^.+\\.vue$": "nativescript-vue-jest"
}
}
完整的配置如下。
{
"jest": {
"moduleFileExtensions": [
"js",
"json",
"vue"
],
"transform": {
"^.+\\.js$": "babel-jest",
"^.+\\.vue$": "nativescript-vue-jest"
}
}
}
如果您使用的是 Jest 22.4.0 之前的版本,您需要将 mapCoverage
设置为 true
以使用源映射。
示例项目
示例存储库使用 jest 和 vue-jest 测试 Vue 组件
支持的编程语言
nativescript-vue-jest 将 SFC 的脚本和模板编译成 Jest 可以运行的 JavaScript 文件。 目前,仅支持 SCSS、SASS 和 Stylus 作为样式语言进行编译。
支持的脚本语言
- typescript (
lang="ts"
,lang="typescript"
) - coffeescript (
lang="coffee"
,lang="coffeescript"
)
全局 Jest 选项
您可以通过使用 jest.globals
来改变 nativescript-vue-jest
的行为。
提示: 需要程序化配置?请使用 Jest CLI 中的 --config 选项,并导出一个
.js
文件
babelConfig
提供以下格式的 babelConfig
<Boolean>
<Object>
<String>
Boolean
true
- 启用 Babel 处理。vue-jest
将尝试使用 find-babel-config 查找 Babel 配置。
如果没有定义 babelConfig,则这是默认行为。
false
- 完全跳过 Babel 处理
{
"jest": {
"globals": {
"vue-jest": {
"babelConfig": false
}
}
}
}
Object
提供内联 Babel 选项
{
"jest": {
"globals": {
"vue-jest": {
"babelConfig": {
"presets": [
[
"env",
{
"useBuiltIns": "entry",
"shippedProposals": true
}
]
],
"plugins": [
"syntax-dynamic-import"
],
"env": {
"test": {
"plugins": [
"dynamic-import-node"
]
}
}
}
}
}
}
}
String
如果提供字符串,它将是一个假设的 Babel 配置文件路径(例如 .babelrc
、.babelrc.js
)。
- 配置文件应导出一个 Babel 配置对象。
- 不应指向 项目范围的配置文件 (babel.config.js),它导出一个函数。
{
"jest": {
"globals": {
"vue-jest": {
"babelConfig": "path/to/.babelrc.js"
}
}
}
}
要使用 配置函数 API,请使用内联选项。即。
{
"jest": {
"globals": {
"vue-jest": {
"babelConfig": {
"configFile": "path/to/babel.config.js"
}
}
}
}
}
tsConfig
提供以下格式的 tsConfig
<Boolean>
<Object>
<String>
Boolean
true
- 使用自定义配置处理 TypeScript 文件。vue-jest
将尝试使用 tsconfig.loadSync 查找 TypeScript 配置。
如果没有定义 tsConfig,则这是默认行为。
false
- 使用由 vue-jest 提供的默认配置处理 TypeScript 文件。
Object
提供内联的 TypeScript 编译器选项
{
"jest": {
"globals": {
"vue-jest": {
"tsConfig": {
"importHelpers": true
}
}
}
}
}
String
如果提供一个字符串,则假定它是 TypeScript 配置文件的路径
{
"jest": {
"globals": {
"vue-jest": {
"tsConfig": "path/to/tsconfig.json"
}
}
}
}
支持的模板语言
-
pug (
lang="pug"
)- 要为 Pug 编译器提供选项,请将它们输入到 Jest 配置中。这些选项将被传递给 pug.compile()。
{
"jest": {
"globals": {
"vue-jest": {
"pug": {
"basedir": "mybasedir"
}
}
}
}
} -
jade (
lang="jade"
) -
haml (
lang="haml"
)
支持的风格语言
- stylus (
lang="stylus"
,lang="styl"
) - sass (
lang="sass"
)- SASS 编译器支持 jest 的 moduleNameMapper,这是处理 Webpack 别名的建议方式。
- scss (
lang="scss"
)-
SCSS 编译器支持 jest 的 moduleNameMapper,这是处理 Webpack 别名的建议方式。
-
要导入全局包含的文件(例如变量、混合等),请在 Jest 配置中的
jest.globals['vue-jest'].resources.scss
包含它们{
"jest": {
"globals": {
"vue-jest": {
"resources": {
"scss": [
"./node_modules/package/_mixins.scss",
"./src/assets/css/globals.scss"
]
}
}
}
}
}
-
CSS 选项
experimentalCSSCompile
: 布尔值
默认为 true。关闭 CSS 编译 hideStyleWarn
: 布尔值
默认为 false。隐藏关于 CSS 编译的警告 resources
{
"jest": {
"globals": {
"vue-jest": {
"hideStyleWarn": true,
"experimentalCSSCompile": true
}
}
}
}