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:

committed by
Michael Krotscheck

parent
2120a13542
commit
6f1a300585
65
karma.conf.babel.js
Normal file
65
karma.conf.babel.js
Normal file
@@ -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
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
};
|
2
karma.conf.js
Normal file
2
karma.conf.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
require('babel-register');
|
||||||
|
module.exports = require('./karma.conf.babel').default;
|
@@ -4,7 +4,9 @@
|
|||||||
"description": "JavaScript API library for OpenStack.",
|
"description": "JavaScript API library for OpenStack.",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"scripts": {
|
"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 ./",
|
"lint": "eslint ./",
|
||||||
"prepublish": "nsp check; npm run build",
|
"prepublish": "nsp check; npm run build",
|
||||||
"build": "babel src -d dist && webpack",
|
"build": "babel src -d dist && webpack",
|
||||||
@@ -33,6 +35,11 @@
|
|||||||
"eslint": "^2.4.0",
|
"eslint": "^2.4.0",
|
||||||
"eslint-config-openstack": "2.0.0",
|
"eslint-config-openstack": "2.0.0",
|
||||||
"jasmine": "^2.4.1",
|
"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",
|
"nsp": "^2.4.0",
|
||||||
"webpack": "^1.13.1"
|
"webpack": "^1.13.1"
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user