123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- process.env.CHROME_BIN = '/snap/bin/chromium';
-
- module.exports = function(config) {
- config.set({
- //root path location to resolve paths defined in files and exclude
- basePath: '',
- //files/patterns to exclude from loaded files
- exclude: [],
- //files/patterns to load in the browser
- files: [
- 'tests/*.spec.js'
- /*parameters*/
- //watched: if autoWatch is true all files that have set watched to true will be watched for changes
- //served: should the files be served by Karma's webserver?
- //included: should the files be included in the browser using <script> tag?
- //nocache: should the files be served from disk on each request by Karma's webserver?
- /*assets*/
- //{pattern: '*.html', watched:true, served:true, included:false}
- //{pattern: 'images/*', watched:false, served:true, included:false}
- ],
-
- //executes the tests whenever one of watched files changes
- autoWatch: false,
- //if true, Karma will run tests and then exit browser
- singleRun: true,
- //if true, Karma fails on running empty test-suites
- failOnEmptyTestSuite:false,
- //reduce the kind of information passed to the bash
- logLevel: config.LOG_WARN, //config.LOG_DISABLE, config.LOG_ERROR, config.LOG_INFO, config.LOG_DEBUG
-
- //list of frameworks you want to use, only jasmine is installed automatically
- frameworks: ['jasmine'],
- //list of browsers to launch and capture
- browsers: ['ChromeHeadless'/*,'PhantomJS','Firefox','Edge','ChromeCanary','Opera','IE','Safari'*/],
- //list of reporters to use
- reporters: ['mocha' /*,'kjhtml','dots','progress','spec'*/],
-
- //address that the server will listen on, '0.0.0.0' is default
- listenAddress: '0.0.0.0',
- //hostname to be used when capturing browsers, 'localhost' is default
- hostname: 'localhost',
- //the port where the web server will be listening, 9876 is default
- port: 9876,
- //when a browser crashes, karma will try to relaunch, 2 is default
- retryLimit:0,
- //how long does Karma wait for a browser to reconnect, 2000 is default
- browserDisconnectTimeout: 5000,
- //how long will Karma wait for a message from a browser before disconnecting from it, 10000 is default
- browserNoActivityTimeout: 60000,
- //timeout for capturing a browser, 60000 is default
- captureTimeout: 60000,
-
- client: {
- //capture all console output and pipe it to the terminal, true is default
- captureConsole:false,
- //if true, Karma clears the context window upon the completion of running the tests, true is default
- clearContext:false,
- //run the tests on the same window as the client, without using iframe or a new window, false is default
- runInParent: false,
- //true: runs the tests inside an iFrame; false: runs the tests in a new window, true is default
- useIframe:true,
- jasmine:{
- //tells jasmine to run specs in semi random order, false is default
- random: false
- }
- },
-
- /*karma-webpack config*/
- //pass your webpack configuration for karma
- webpack: {
- node: {
- fs: 'empty',
- },
- module: {
- rules: [
- {
- test: /\.js$/,
- exclude: /(node_modules)/,
- use: {
- loader: "babel-loader",
- options: {
- presets: ["@babel/preset-env"]
- }
- }
- },
- {
- test: /\.g4$/,
- exclude: /(node_modules)/,
- use: {
- loader:'antlr4-webpack-loader'
- }
- }
- ]
- },
- },
- preprocessors: {
- //use webpack to support require() in test-suits .js files
- //use babel-loader from webpack to compile es2015 features in .js files
- //add webpack as preprocessor
- 'tests/*.spec.js': ['webpack']
- },
- webpackMiddleware: {
- //turn off webpack bash output when run the tests
- noInfo: true,
- stats: {
- chunks: false
- }
- },
-
- /*karma-mocha-reporter config*/
- mochaReporter: {
- output: 'full' //full, autowatch, minimal
- }
- });
- };
|