multitest
Run npm test
using multiple node
versions
multitest
is a commandline tool to execute the test cases of a given project
using different node
versions.
The flow the tool when executed for the first time is as follows:
- Get versions from
.travis.yml
file - Clone code in
<project>/.multitest/<version>
- Run
nvm use <version> && npm install && npm test
After the first run, git pull
is executed instead of git clone
. This way,
there's no need to clone code again and re-install dependencies from scratch.
Installation
The recommended way to install multitest
is as a development dependency for a project:
npm install --save-dev multitest
and then integrate it in the project workflow as an npm
script. More information about this in the configuration section below.
However, when the tool is installed for the first time, it's fine to install it globally and give it a try from the command line:
npm install -g multitest
Usage
To run npm test
for every node
version found in the travis configuration file:
multitest
Command line options
-l/--log-level [logLevel]
: Log level
This flag can be used to set the level of verbosity of the output. The default value is info
which outputs a reasonable amount of information. To troubleshoot problems, debug
is recommended.
Configuration
For a better integration in the project workflow, the recommended way to run multitest
is through npm
scripts. One way to do that would be as follows:
- Add
multitest
script to runmultitest
manually when needed - Call the
multitest
script in eitherpreversion
and/orprepublish
script
This would be an example of such a configuration:
{
"scripts": {
"multitest": "multitest",
"preversion": "npm run multitest"
}
}
In addition to this, if some hook configuration module is used such as ghooks
it could be a good idea to run multitest
as a precommit hook.
Contributing
Any contribution is more than welcome. In particular, if: