vunit - Vue unit testing tools
Description
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:
Installation
npm install --save-dev @rei/vunit @vue/test-utils
Basic Usage
Running Unit Tests
npx vunit --spec=<glob-to-specs> [--watch]
Running Test Coverage
npx vunit --spec=<glob-to-specs> --coverage [--watch]
Report is generated at `./coverage`
Creating Unit Tests
- 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.
npm test
Script(s)
Update Add test
script to your package.json
:
{
...
"scripts": {
"test": "vunit --spec=<glob-to-specs>"
},
...
}
Command-line Options
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)
Overriding the NYC Code Coverage Configuration
If you need to modify any of the NYC test coverage configuration options
that are provided by default, you can create a local .nycrc
config file and configure as needed.
Start by just copying the default .nycrc file to your local directory and modify as needed.
Programmatic API
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',
...
});