前提・実現したいこと
angularJSでngSanitizeを利用するとテストが失敗になります。
モジュールの追加を行った場合のテストのテストの書き方を教えて頂きたい。
テストにはKarmaとJasmineを利用しています。
発生している問題・エラーメッセージ
karmaで発生しているErrorは下記になります。
TypeError: deferred is undefined in test/spec/common/controllersSpec.js (line 119)
該当のソースコード
本コード
jacascript
1(function() { 2 'use strict'; 3 4 var module = angular.module('agriLog.controllers.newstopic', ['ngSanitize']); 5 6 ..... 7 ..... 8 9})();
テストコード
describe('テスト', function() { var scope, controller, deferred; beforeEach(function(){ module('agriLog.controllers.newstopic'); module('ngSanitize'); }); beforeEach(inject(function($rootScope, $controller, $q) { deferred = $q.defer(); scope = $rootScope; ... })); it('実行するテスト', function() { ... }); });
試したこと
本コードに['ngSanitize']を追加したり、テストコードにmodule('ngSanitize');を追加したりするとエラーになります。
['ngSanitize']を削除すると、正常にテストが通ります。
補足情報(FW/ツールのバージョンなど)
/angularjs/1.4.8/angular.js
/angularjs/1.3.8/angular-sanitize.min.js
/angular-material/1.1.3/angular-material.min.js
Karma v1.7.1
あなたの回答
tips
プレビュー