diff --git a/karma.conf.js b/karma.conf.js new file mode 100644 index 0000000..eec8a7a --- /dev/null +++ b/karma.conf.js @@ -0,0 +1,71 @@ +process.env.CHROME_BIN = "chromium-browser"; + +module.exports = function(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: ["mocha", "browserify"], + + + // list of files / patterns to load in the browser + files: [ + "test.js" + ], + + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + "test.js": ["browserify"], + }, + + + // list of files to exclude + exclude: [ + ], + + + // test results reporter to use + // possible values: "dots", "progress" + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ["mocha"], + + + // web server port + port: 9876, + + + // enable / disable colors in the output (reporters and logs) + colors: true, + + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: false, + + + // start these browsers + // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher + browsers: ["Chromium", "Firefox"], + customLaunchers: { + Chromium: { + base: "Chrome", + flags: ["--no-sandbox"], + }, + }, + + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: true, + }); +}; diff --git a/package.json b/package.json index bdc969d..b7ecf61 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,12 @@ "main": "index.js", "browser": "browser.js", "scripts": { - "test": "mocha && jshint ." + "test": "mocha && xvfb-run -a karma start && jshint .", + "m": "mocha", + "k": "xvfb-run -a karma start", + "kc": "xvfb-run -a karma start --browsers Chromium", + "kf": "xvfb-run -a karma start --browsers Firefox", + "j": "jshint ." }, "repository": { "type": "git", @@ -31,6 +36,13 @@ "devDependencies": { "chai": "*", "jshint": "*", + "karma": "^0.12.28", + "karma-browserify": "^1.0.1", + "karma-chrome-launcher": "^0.1.7", + "karma-cli": "~0.0.4", + "karma-firefox-launcher": "^0.1.3", + "karma-mocha": "^0.1.10", + "karma-mocha-reporter": "^0.3.1", "mocha": "*" } } diff --git a/test.js b/test.js index e69de29..b73bc65 100644 --- a/test.js +++ b/test.js @@ -0,0 +1,6 @@ +var expect = require("chai").expect; + +describe("test", function() { + it("just test", function() { + }); +});