ルートリダイレクトが機能することを確認するための簡単な e2e テストがあります
runner.html
<!doctype html>
<html lang="en">
<head>
<title>End2end Test Runner</title>
<script src="../client/components/angular-scenario/angular-scenario.js" ng-autotest></script>
<script src="e2e/scenarios.js"></script>
</head>
<body>
</body>
</html>
シナリオ.js
'use strict';
describe('e2e', function() {
beforeEach(function() {
browser().navigateTo('../../client/index.html');
});
it('should redirect to the main application home page with / is accessed', function() {
browser().navigateTo('#!/');
expect(browser().location().path()).toBe('/app');
});
});
カルマ.conf.js
*snip*
files = [
ANGULAR_SCENARIO,
ANGULAR_SCENARIO_ADAPTER,
'./test/e2e/**/*.js',
];
*snip*
これが実行されると、browser().location().path() で例外が発生します。
TypeError: 'undefined' is not a function (evaluating '$document.injector()')
browser().location() を実行しても例外は発生しないため、問題を引き起こしているのは最後の .path() であると判断しました。
ただし、ブラウザー コンソールでは、期待どおり angular.scenario.Future が返されます。
例外が発生するのはなぜですか?