# Automated Testing
Automated testing is implemented using jest
framework.
The ts-jest
tool will make sure test files written in typescript
will also
be translated and run with jest
.
The configuration for jest
can be found in package.json
under the jest
key.
# Test suites
The test cases have been groupped in two suites:
The unit test suite Very fast tests that test each class in isolation
The integration test suite Slower tests that ensure the plugin will not cause any errors during the build process of the vuepress framework
Jest will identify which tests to run by their filename. As such the following convention has been used:
The filename of each test file must include its type, eg mytest.unit.ts
and
for organizational purposes must be placed on the relevant folder, eg unit
To run all tests
npm run test
To run all unit tests
npm run test:unit
To run all integration tests
npm run test:integration
To run the tests in file watch mode (so they are automatically rerun on file
changes), append -- --watch
flag when running via npm (otherwise use just the
flag). For example
npm run test:unit -- --watch
or
jest unit --watch
# Coverage
By default, code coverage will also be calculated and reported at the end of the test execution, but also rendered in html format at coverage folder.