| 
				
					 | 
			1 년 전 | |
|---|---|---|
| .. | ||
| lib | 1 년 전 | |
| LICENSE | 1 년 전 | |
| README.md | 1 년 전 | |
| package.json | 1 년 전 | |
| vue-jest.js | 1 년 전 | |
Jest Vue transformer with source map support
NOTE: This is documentation for
vue-jest@3.x. View the vue-jest@2.x documentation
npm install --save-dev vue-jest
To define vue-jest as a transformer for your .vue files, map them to the vue-jest module:
{
  "jest": {
    "transform": {
      "^.+\\.vue$": "vue-jest"
    }
}
A full config will look like this.
{
  "jest": {
    "moduleFileExtensions": [
      "js",
      "json",
      "vue"
    ],
    "transform": {
      "^.+\\.js$": "babel-jest",
      "^.+\\.vue$": "vue-jest"
    }
  }
}
If you're on a version of Jest older than 22.4.0, you need to set mapCoverage to true in order to use source maps.
Example repositories testing Vue components with jest and vue-jest:
vue-jest compiles the script and template of SFCs into a JavaScript file that Jest can run. Currently, SCSS, SASS and Stylus are the only style languages that are compiled.
lang="ts", lang="typescript")lang="coffee", lang="coffeescript")You can change the behavior of vue-jest by using jest.globals.
Tip: Need programmatic configuration? Use the --config option in Jest CLI, and export a
.jsfile
Provide babelConfig in one of the following formats:
<Boolean><Object><String>true - Enable Babel processing. vue-jest will try to find Babel configuration using find-babel-config.This is the default behavior if babelConfig is not defined.
false - Skip Babel processing entirely:{
  "jest": {
    "globals": {
      "vue-jest": {
        "babelConfig": false
      }
    }
  }
}
Provide inline Babel options:
{
  "jest": {
    "globals": {
      "vue-jest": {
        "babelConfig": {
          "presets": [
            [
              "env",
              {
                "useBuiltIns": "entry",
                "shippedProposals": true
              }
            ]
          ],
          "plugins": [
            "syntax-dynamic-import"
          ],
          "env": {
            "test": {
              "plugins": [
                "dynamic-import-node"
              ]
            }
          }
        }
      }
    }
  }
}
If a string is provided, it will be an assumed path to a babel configuration file (e.g. .babelrc, .babelrc.js).
{
  "jest": {
    "globals": {
      "vue-jest": {
        "babelConfig": "path/to/.babelrc.js"
      }
    }
  }
}
To use the Config Function API, use inline options instead. i.e.:
{
  "jest": {
    "globals": {
      "vue-jest": {
        "babelConfig": {
          "configFile": "path/to/babel.config.js"
        }
      }
    }
  }
}
Provide tsConfig in one of the following formats:
<Boolean><Object><String>true - Process TypeScript files using custom configuration. vue-jest will try to find TypeScript configuration using tsconfig.loadSync.This is the default behavior if tsConfig is not defined.
false - Process TypeScript files using the default configuration provided by vue-jest.Provide inline TypeScript compiler options:
{
  "jest": {
    "globals": {
      "vue-jest": {
        "tsConfig": {
          "importHelpers": true
        }
      }
    }
  }
}
If a string is provided, it will be an assumed path to a TypeScript configuration file:
{
  "jest": {
    "globals": {
      "vue-jest": {
        "tsConfig": "path/to/tsconfig.json"
      }
    }
  }
}
lang="pug")
    {
      "jest": {
        "globals": {
          "vue-jest": {
            "pug": {
              "basedir": "mybasedir"
            }
          }
        }
      }
    }
lang="jade")lang="haml")lang="stylus", lang="styl")lang="sass")
scss (lang="scss")
jest.globals['vue-jest'].resources.scss:{
  "jest": {
    "globals": {
      "vue-jest": {
        "resources": {
          "scss": [
            "./node_modules/package/_mixins.scss",
            "./src/assets/css/globals.scss"
          ]
        }
      }
    }
  }
}
postcss (lang="pcss", lang="postcss")
experimentalCSSCompile: Boolean Default true. Turn off CSS compilation
hideStyleWarn: Boolean Default false. Hide warnings about CSS compilation
resources:
  {
    "jest": {
      "globals": {
        "vue-jest": {
          "hideStyleWarn": true,
          "experimentalCSSCompile": true
        }
      }
    }
  }