Contribute: Testing atscm
atscm uses both unit and integration tests. Mocha is used as a test runner and nyc for test coverage reports.
Test scripts:
Command | Description |
---|---|
npm run test |
Run all tests |
npm run test:unit |
Run all unit tests |
npm run test:integration |
Run all integration tests |
npm run test:watch |
Re-run all tests when files change |
npm run test:coverage |
Check test coverage |
Unit tests
The unit tests are located inside ./test/src
. Test files are named after the module they test, e.g. unit tests for ./src/my/module.js
are inside ./test/src/my/module.spec.js
.
Integration tests
Integration tests are used to ensure cross-version and -platform compatibility. They are located inside ./test/integration
.
Test setups
For most integration tests, we use test setups to create the proper project structure to test against. These are XML files that can be imported to the running atserver before the tests are run. The easiest way to create such files is with atbuilder:
- First connect atvise builder to your running atserver
- Create and configure the node(s) you want to test against
- Select theses nodes, right-click them and choose "Export hierarchy to XML" from the context menu.
- Save the export file to
./test/fixtures/setup
.
After this, you can use the importSetup method exported from ./test/helpers/atscm.js
to import this setup. See the existing integration tests for examples.