0

I ran a simple karma init and pressed enter throughout the process to get the following karma.conf.js:

// Karma configuration // Generated on Thu Jan 21 2016 10:32:15 GMT-0600 (CST) 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: ['jasmine'], // list of files / patterns to load in the browser files: [ '**/*.spec.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 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: 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: true, // start these browsers // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher browsers: ['Chrome'], // Continuous Integration mode // if true, Karma captures browsers, runs the tests and exits singleRun: false, // Concurrency level // how many browser should be started simultaneous concurrency: Infinity }) } 

However, after trying to run a simple test that looks like:

describe('test', function() { it('should return true', function() { expect(true).toEqual('true'); }) }); 

While it runs, I get the following output:

1 01 2016 10:32:47.879:WARN [karma]: No captured browser, open http://localhost:9876/ 21 01 2016 10:32:47.888:INFO [karma]: Karma v0.13.19 server started at http://localhost:9876/ 21 01 2016 10:32:47.892:INFO [launcher]: Starting browser Chrome 21 01 2016 10:32:50.192:INFO [Chrome 47.0.2526 (Mac OS X 10.11.3)]: Connected on socket /#RpTiNDwYyXuP29hTAAAA with id 21512010 Chrome 47.0.2526 (Mac OS X 10.11.3) ERROR Uncaught ReferenceError: require is not defined at /Users/sgarcia/dev/karma/hello-karma/node_modules/karma-chrome-launcher/test/jsflags.spec.js:1 

Why does it say it can't find requireJS despite me not using it?

1 Answer 1

3

The problem is your list of files:

files: [ '**/*.spec.js' ], 

That will catch ALL your *.spec.js files, which is why it found "/Users/sgarcia/dev/karma/hello-karma/node_modules/karma-chrome-launcher/test/jsflags.spec.js" which is a test for the developers of karma-chrome-launcher itself, which does indeed have a call to requireJS, and which you probably don't want to include in your test suite :-)

Consider place all your test files in ./test and changing you karma.conf.js files section to something like:

files: [ 'js/**/*.js', 'tests/**/*.spec.js' ], 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.