Unit testing tool for Vue.js components. This tool allows you to easily test your Vue components using mocha and @vue/test-utils. Additionally, it provides code-coverage reporting via nyc/istanbul for both Vue components and vanilla js. It is based on the following documents:
npm install --save-dev @rei/vunit @vue/test-utils
npx vunit --spec=<glob-to-specs> [--watch]
npx vunit --spec=<glob-to-specs> --coverage [--watch]
Report is generated at `./coverage`
- Refer to the @vue/test-utils documentation for examples and API.
- Create your spec files via mocha syntax.
- Chai's expect is made globally available in your spec files for assertions.
Add test
script to your package.json
:
{
...
"scripts": {
"test": "vunit --spec=<glob-to-specs>"
},
...
}
The following options are available to the tool:
spec: {String} The path glob to your Vue unit tests (required)
webpack-config: {String} The path to your webpack.config.js (optional)
watch: {String} Comma-separated list of directories to watch for changes, e.g.
--watch=src,test (optional).
coverage: {None} Flag indicating whether or not to run coverage. Report is generated at `./coverage-vue`
require: {None} Path to include a module (like a setup script) before loading tests (optional)
To use package via programmatic API, just require
the module and call the exposed run
command
with above options passed in as an object:
const vunit = require('vunit');
vunit.run({
spec: '/glob/to/specs',
...
});