AngularJS + Jasmine unit test Error: [$injector:modulerr]
<p>I am leanring unit testing with angular and jasmine. I am getting the following error when running the tests:</p>

<blockquote>
  <p>Result Message:   Error: [$injector:modulerr]
  <a href="http://errors.angularjs.org/1.4.9/" rel="nofollow">http://errors.angularjs.org/1.4.9/</a>$injector/modulerr...</p>
</blockquote>

<p><strong>Unit Test</strong></p>

<pre><code>/// &lt;reference path="../Scripts/_references.js" /&gt;
/// &lt;reference path="jasmine.js" /&gt;
/// &lt;reference path="SampleController.js" /&gt;

describe('Controller Unit Test: ', function () {
    var scope, ctrl, $timeout;
    var someServiceMock;

    beforeEach(function () {
        module('app');
    });

    beforeEach(function () {
        someServiceMock = jasmine.createSpyObj('someService', ['someAsyncCall']);
        inject(function ($rootScope, $controller, $q, _$timeout_) {
            scope = $rootScope.$new();
            someServiceMock.someAsyncCall.andReturn($q.when('weee'));
            $timeout = _$timeout_;
            ctrl = $controller('SampleController', {
                $scope: scope,
                someService: someServiceMock
            });
        });
    });

    it('Controller exists', function () {
        expect(ctrl).toBeDefined();
    });
});
</code></pre>

<p><strong>Controller</strong></p>

<pre><code>var app = angular.module('myApp', []);
app.controller('SampleController', function ($scope, someService) {

    //set some properties
    $scope.foo = 'foo';
    $scope.bar = 'bar';

    //add a simple function.
    $scope.test1 = function () {
        $scope.foo = $scope.foo + '!!!';
    };

    //set up a $watch.
    $scope.$watch('bar', function (v) {
        $scope.baz = v + 'baz';
    });

    //make a call to an injected service.
    $scope.test2 = function () {
        someService.someAsyncCall($scope.foo)
          .then(function (data) {
              $scope.fizz = data;
          });
    };
});

app.factory('someService', function ($timeout, $q) {
    return {

        // simple method to do something asynchronously.
        someAsyncCall: function (x) {
            var deferred = $q.defer();
            $timeout(function () {
                deferred.resolve(x + '_async');
            }, 100);
            return deferred.promise;
        }
    };
});
</code></pre>

<p><strong>finally, my reference files:</strong></p>

<pre><code>/// &lt;reference path="angular.min.js" /&gt;
/// &lt;reference path="angular-mocks.js" /&gt;
/// &lt;reference path="angular-animate.min.js" /&gt;
/// &lt;reference path="angular-sanitize.min.js" /&gt;
/// &lt;reference path="angular-route.min.js" /&gt;
/// &lt;reference path="jquery-2.1.1.min.js" /&gt;
/// &lt;reference path="jquery.unobtrusive-ajax.js" /&gt;
/// &lt;reference path="jquery.unobtrusive-ajax.min.js" /&gt;
/// &lt;reference path="jquery.validate.min.js" /&gt;
/// &lt;reference path="ui-bootstrap-tpls-0.14.3.min.js" /&gt;
/// &lt;reference path="modernizr-2.8.3.js" /&gt;
</code></pre>

<p>When I set a break point within the inject function in the test and run debugging mode, it nevers goes into it.</p>