Add global before/after hook to your Mocha test environment.
This solution is basically just "monkey patching" in mocha.
Original idea from mocha-prepare.
- running postgres docker container during your integration tests
- running service docker container during your integration tests
- prepare global data for test
- etc
npm install mocha-prepare-promise --save-dev
const prepare = require('mocha-prepare-promise');
prepare(
//before hook
function () {
//run your async operations like for example starting a docker container
return Promise.resolve();
},
//after hook
function() {
//end all your operations again for example stopping a docker container
return Promise.resolve();
}
);
mocha 'files/to/tests.js' --require path/to/your/created/file