title: Error while testing route Karma in e2e tests
body: <p>I'm trying to make some basic end to end tests (e2e) on a django/angularjs application using Karma and I'm getting a weird error.  </p>
  
  <p>Here is my test code: </p>
  
  <pre><code># testacular-e2e.conf.js
  
  describe('Log in tests', function() {
     it('should show the disconnected home', function() {
        browser().navigateTo('/#');
        expect(browser().location().url()).toBe('/#');
     });
  });
  </code></pre>
  
  <p>When I'm running this code, I get the following output:<br>
  <strong>[DEPRECATED ERROR - left for reference only]</strong><br>
  <strike>$>karma start testacular-e2e.conf.js
      [2013-04-30 22:19:26.465] [WARN] config - "/" is proxied, you should probably change urlRoot to avoid conflicts
      [2013-04-30 22:19:26.467] [DEBUG] config - autoWatch set to false, because of singleRun
      INFO [karma]: Karma server started at <a href="http://local.host:9876/" rel="nofollow">http://local.host:9876/</a>
      INFO [launcher]: Starting browser PhantomJS
      INFO [PhantomJS 1.9 (Mac)]: Connected on socket id cwhp0lnTraNa4ToQ0HkS
      PhantomJS 1.9 (Mac) Log in tests should show the disconnected home FAILED
      TypeError: 'undefined' is not a function (evaluating '$document.injector()')
      PhantomJS 1.9 (Mac): Executed 1 of 1 (1 FAILED) (0.098 secs / 0.04 secs)
  </strike></p>
  
  <p>Any one can help please?<br>
  Thanks in advance :)</p>
  
  <p>EDIT:
  Here is my Karma configuration file:</p>
  
  <pre><code>// Karma configuration
  
  // base path, that will be used to resolve files and exclude
  basePath = '';
  
  // frameworks to use
  frameworks = ['jasmine', 'ng-scenario'];
  
  // list of files / patterns to load in the browser
  files = [
    'app/components/angular/angular.js',
    'app/components/angular-complete/angular-resource.js',
    'app/components/angular-complete/angular-cookies.js',
    'app/components/angular-mocks/angular-mocks.js',
    'app/components/ng-translate/translate.js',
    'app/scripts/*.js',
    'app/scripts/services/services.js',
    'app/scripts/**/*.js',
    'test/spec/**/*.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;
  
  // cli runner port
  runnerPort = 9100;
  
  
  // enable / disable colors in the output (reporters and logs)
  colors = true;
  
  
  // level of logging
  // possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
  logLevel = LOG_DEBUG;
  
  
  // enable / disable watching file and executing tests whenever any file changes
  autoWatch = true;
  
  
  // Start these browsers, currently available:
  // - Chrome
  // - ChromeCanary
  // - Firefox
  // - Opera
  // - Safari (only Mac)
  // - PhantomJS
  // - IE (only Windows)
  browsers = ['PhantomJS'];
  
  // 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;
  
  // plugins to load
  plugins = [
    'karma-jasmine',
    'karma-phantomjs-launcher',
    'karma-chrome-launcher',
    'karma-ng-scenario',
  ];
  </code></pre>
  
  <p>EDIT 2: Add component.json file</p>
  
  <pre><code># component.json
    {
      "name": "myapp",
      "version": "0.0.0",
      "dependencies": {
      "angular": "~1.0.5",
      "json3": "~3.2.4",
      "es5-shim": "~2.0.5",
      "angular-resource": "~1.0.5",
      "angular-cookies": "~1.0.5",
      "angular-complete" : "*",
      "jquery" : "~1.9",
      "bootstrap" : "~2.3.1",
      "bootstrap-js" : "*",
      "jquery.localScroll" : "",
      "jquery.scrollTo" : "1.4.4",
      "ng-translate" : ""
    },
    "devDependencies": {
      "angular-mocks": "~1.0.5",
      "angular-scenario": "~1.0.5"
    }
  }
  </code></pre>
  
  <p>EDIT 3 : Updated the above Karma conf file + this is my e2e conf file: </p>
  
  <pre><code>// e2e karma configuration
  
  var fs = require('fs');
  
  // Load from basic karma configuration
  eval(fs.readFileSync('karma.conf.js')+'');
  
  // list of files / patterns to load in the browser
  files = [
    'app/components/angular/angular.js',
    'app/components/angular-complete/angular-resource.js',
    'app/components/angular-complete/angular-cookies.js',
    'app/components/angular-mocks/angular-mocks.js',
    'app/components/ng-translate/translate.js',
    'app/scripts/*.js',
    'app/scripts/services/services.js',
    'app/scripts/**/*.js',
    'test/e2e/**/*.js'
  ];
  
  
  // Proxy the root path to the location of app server
  proxies = {
    '/': 'http://localhost:8000/'
  };
  </code></pre>
  
  <p>If you need the details of the files imported in the "files" params, let me know.
  With he actual configuration, the "normal" tests (not the e2e ones) works fine but the e2e tests give me the following error:</p>
  
  <pre><code>$&gt;karma start karma-e2e.conf.js
  [2013-05-01 11:32:19.047] [WARN] config - "/" is proxied, you should probably change urlRoot to avoid conflicts
  INFO [karma]: Karma v0.9.2 server started at http://localhost:9876/
  INFO [launcher]: Starting browser PhantomJS
  INFO [PhantomJS 1.9 (Mac)]: Connected on socket id HmPYnc9PJUdaGb35pl-K
  PhantomJS 1.9 (Mac) Log in tests should show the disconnected home FAILED
  ReferenceError: Can't find variable: browser
      at /Users/hugo/Projs/wc/angular/test/e2e/scenarios.js:9
      at /Users/hugo/Projs/wc/angular/node_modules/karma-jasmine/lib/adapter.js:107
      at http://localhost:9876/karma.js:111
      at http://localhost:9876/context.html:68
  PhantomJS 1.9 (Mac): Executed 1 of 1 (1 FAILED) (0.082 secs / 0.006 secs)
  </code></pre>