module not defined in karma

10,011

Karma needs to pull in all your the files that you are working with. It uses the files collection in its config to configure which files to pull in:

So this needs to be expanded:

// list of files / patterns to load in the browser
files: [
  'test/basic/mySpec.js'
],

To something like this:

// list of files / patterns to load in the browser
files: [
  'src/lib/angular/angular.js',
  'src/lib/angular-mocks/angular-mocks.js',
  'src/js/**/*.js',
  'test/**/*.js'
],

The error is indicating that the file that defines the module Babar has not been found in one of the files configured in the files list.

Share:
10,011
Admin
Author by

Admin

Updated on June 09, 2022

Comments

  • Admin
    Admin almost 2 years

    I want to run mySpec.js with karma in WebStorm 7. When I run karma, karma server starts on my browser but in WebStorm I am facing this error:

    This is the error I'm getting

    ReferenceError: module is not defined at null. (C:/Users/Babar/Desktop/angular/test/basic/mySpec.js:2:16) at C:/Users/Babar/Desktop/angular/test/basic/mySpec.js:1:1 Process finished with exit code 0

    here is my configuration file:

    // Karma configuration
    // Generated on Thu Nov 21 2013 03:05:08 GMT-0800 (Pacific Standard Time)
    
    module.exports = function
    (config) {
      config.set({
    
        // base path, that will be used to resolve files and exclude
        basePath: '',
    
    
        // frameworks to use
        frameworks: ['jasmine'],
    
    
        // list of files / patterns to load in the browser
        files: [
          'test/basic/mySpec.js'
        ],
    
    
        // list of files to exclude
        exclude: [
    
        ],
    
    
        // test results reporter to use
        // possible values: 'dots', 'progress', 'junit', 'growl', 'coverage'
        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: false,
    
    
        // Start these browsers, currently available:
        // - Chrome
        // - ChromeCanary
        // - Firefox
        // - Opera (has to be installed with `npm install karma-opera-launcher`)
        // - Safari (only Mac; has to be installed with `npm install karma-safari-launcher`)
        // - PhantomJS
        // - IE (only Windows; has to be installed with `npm install karma-ie-launcher`)
        browsers: ['Chrome'],
    
    
        // If browser does not capture in given timeout [ms], kill it
        captureTimeout: 60000,
    
    
        // Continuous Integration mode
        // if true, it capture browsers, run tests and exit
        singleRun: false
      });
    };
    

    and here is my mySpec.js:

    describe('filter', function(){
        beforeEach(module('Babar', []));
    
        describe("reverse", function(){
            it("should reverse a string",inject(function(reverseFilter){
                expect(reverseFilter("ABCD")).toEqual("DCBA");
            }))
        })
    })
    

    Please let me know what should I do ?