A Karma plugin to read environment variables and make them available inside your tests.
MIT License
Preprocessor which makes environment variables available to your tests.
The easiest way is to keep karma-env-preprocessor
as a devDependency in your package.json
.
{
"devDependencies": {
"karma": "~0.10",
"karma-env-preprocessor": "~0.1"
}
}
You can simple do it by:
npm install karma-env-preprocessor --save-dev
To load karma-env-preprocessor
into Karma you should add it to the plugins array in the Karma configuration file.
For more information see the Plugins section of the Karma documentation.
Any files you preprocess using this plugin will be affected, e.g for all JavaScript files:
// karma.conf.js
module.exports = function(config) {
config.set({
preprocessors: {
'**/*.js': ['env']
},
envPreprocessor: [
'PATH',
'HOME'
],
plugins: [
'karma-env-preprocessor'
],
});
};
This preprocessor uses process.env
to read the value of each environment variable specified in envPreprocessor
and publishes them in the global window.__env__
, so you can read these values in your tests.
For example, the above configuration will be served as:
window.__env__ = window.__env__ || []
window.__env__['PATH'] = '/usr/sbin:/usr/bin:/sbin:/bin';
window.__env__['HOME'] = '/home/jsok';
For more information on Karma see the homepage.