title: Webstorm karma/jasmine angularjs testing - reference error module is undefined
body: <p>I'm trying to set up WebStorm to develop AngularJS. I've followed the <a href="http://blog.jetbrains.com/webstorm/2013/10/running-javascript-tests-with-karma-in-webstorm-7/" rel="nofollow noreferrer">instructions from JetBrains</a> and I'm trying to run the test from <a href="http://docs.angularjs.org/tutorial/step_02" rel="nofollow noreferrer">that tutorial</a>.</p>
  
  <pre><code>describe('PhoneCat controllers', function() {
    beforeEach(module('phonecatApp'));
  
    describe('PhoneListCtrl', function(){
  
      it('should create "phones" model with 3 phones', inject(function($controller) {
        var scope = {},
            ctrl = $controller('PhoneListCtrl', { $scope: scope });
  
        expect(scope.phones.length).toBe(3);
      }));
    });
  });
  </code></pre>
  
  <p>I'm getting the following error</p>
  
  <pre><code>"C:\Program Files (x86)\nodejs\node.exe" "C:\Program Files (x86)\JetBrains\WebStorm 7.0.3\plugins\js-karma\js_reporter\karma-intellij\lib\intellijRunner.js" --karmaPackageDir=C:\Users\L\node_modules\karma --serverPort=9876 --urlRoot=/
  Testing started at 21:02 ...
  
      ReferenceError: module is not defined
          at null.&lt;anonymous&gt; (C:/Users/L/WebstormProjects/AngularJS/test/unit/ControllerTests.js:4:16)
          at C:/Users/L/WebstormProjects/AngularJS/test/unit/ControllerTests.js:3:1
  
  
  Process finished with exit code 0
  </code></pre>
  
  <p>My directory layout is </p>
  
  <ul>
  <li><p>test/unit/ControllerTest.js</p></li>
  <li><p>test/karma.conf.js</p></li>
  </ul>
  
  <p><strong>karma.conf.js</strong> below</p>
  
  <pre><code>// Karma configuration
  // Generated on Sun Feb 16 2014 20:49:06 GMT+0000 (GMT 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: [
        {pattern: '*.js', included: true},
        {pattern: 'unit/*.js', included: true}
      ],
  
  
      // 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: true,
  
  
      // 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
    });
  };
  </code></pre>