Added Karma integration
This commit introduces Karma test runner which allows running Jasmine-based tests in browsers. Change-Id: I11652f31fb56e9f6ee0dbfd3359259bb3e4f68fd Co-Authored-By: Michael Krotscheck <krotscheck@gmail.com>
This commit is contained in:
parent
2120a13542
commit
6f1a300585
|
@ -0,0 +1,65 @@
|
|||
import webpackConfig from './webpack.config.babel';
|
||||
|
||||
export default (config) => {
|
||||
config.set({
|
||||
|
||||
// base path that will be used to resolve all patterns (eg. files, exclude)
|
||||
basePath: '',
|
||||
|
||||
// frameworks to use
|
||||
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
|
||||
frameworks: ['jasmine'],
|
||||
|
||||
// list of files / patterns to load in the browser
|
||||
files: [
|
||||
'test/unit/**/*.js'
|
||||
],
|
||||
|
||||
// list of files to exclude
|
||||
exclude: [],
|
||||
|
||||
// preprocess matching files before serving them to the browser
|
||||
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
|
||||
preprocessors: {
|
||||
'test/unit/**/*.js': ['webpack']
|
||||
},
|
||||
|
||||
// test results reporter to use
|
||||
// possible values: 'dots', 'progress'
|
||||
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
|
||||
reporters: ['progress'],
|
||||
|
||||
// web server port
|
||||
port: 9876,
|
||||
|
||||
// enable / disable colors in the output (reporters and logs)
|
||||
colors: false,
|
||||
|
||||
// level of logging
|
||||
logLevel: config.LOG_INFO,
|
||||
|
||||
// enable / disable watching file and executing tests whenever any file changes
|
||||
autoWatch: false,
|
||||
|
||||
// Execute tests once, then exit.
|
||||
singleRun: true,
|
||||
|
||||
// start these browsers
|
||||
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
|
||||
browsers: ['Firefox', 'Chrome'],
|
||||
|
||||
// Concurrency level
|
||||
// how many browser should be started simultaneous
|
||||
concurrency: Infinity,
|
||||
|
||||
// We simulate a fully compiled browser application by using webpack. Since we only really
|
||||
// use this during testing, the configuration is kept here.
|
||||
webpack: webpackConfig,
|
||||
|
||||
webpackMiddleware: {
|
||||
// Don't spam the console.
|
||||
noInfo: true
|
||||
}
|
||||
|
||||
});
|
||||
};
|
|
@ -0,0 +1,2 @@
|
|||
require('babel-register');
|
||||
module.exports = require('./karma.conf.babel').default;
|
|
@ -4,7 +4,9 @@
|
|||
"description": "JavaScript API library for OpenStack.",
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
"test": "jasmine JASMINE_CONFIG_PATH=test/unit/jasmine.json",
|
||||
"test": "npm run test:node; npm run test:browser",
|
||||
"test:node": "jasmine JASMINE_CONFIG_PATH=test/unit/jasmine.json",
|
||||
"test:browser": "karma start",
|
||||
"lint": "eslint ./",
|
||||
"prepublish": "nsp check; npm run build",
|
||||
"build": "babel src -d dist && webpack",
|
||||
|
@ -33,6 +35,11 @@
|
|||
"eslint": "^2.4.0",
|
||||
"eslint-config-openstack": "2.0.0",
|
||||
"jasmine": "^2.4.1",
|
||||
"karma": "^1.1.1",
|
||||
"karma-chrome-launcher": "^1.0.1",
|
||||
"karma-firefox-launcher": "^1.0.0",
|
||||
"karma-jasmine": "^1.0.2",
|
||||
"karma-webpack": "^1.7.0",
|
||||
"nsp": "^2.4.0",
|
||||
"webpack": "^1.13.1"
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue