Karma can not recognize 'require' statement in JSFileSpec.js file. Running karma.conf.js:
(function() {
describe("DummyEmitter creation", function(){
return it("creation", function(){
var DummyEmitter = require('Util.DummyEmitter');
var dummy = new DummyEmitter('someName');
return expect(dummy).toBeDefined();
});
});
})();
ReferenceError: require is not defined
I was facing same issue, when trying to use
require('module_name')
(CommonJS style modules) inside a test case and running it using Karma.The reason was
require
function is not available to browser (it isundefined
). To provide it to browser we can browserify the test js files before Karma runs test case in browser using karma-browserify.Install karma-browserify using
npm install karma-browserify --save-dev
Update karma.conf.js
After these changes browserified file is run in browser by Karma, in which
require
is defined, and test case runs successfully