2016-05-17 5 views
1

Jasmine + KarmaでTypeScriptで書かれたAngularJS 1コントローラをテストしようとしています。しかし、私は修正する方法を知らないエラーを打ち続ける。誤差はかなり目立たです:Karma + JasmineのangleMock.injectでのTypeScript AngularJSコントローラテストの問題

PhantomJS 2.1.1(Windowsの8 0.0.0)ログインコントローラが持つべきテキスト」 は [email protected]/bower_components/angular/angular.js FAILED:341:24の のLoadModuleを@/bower_components/angular/angular.js:4456:12 [email protected]/bower_components/angular/angular.js:4381:22 [email protected]/bower_components/angular-mocks/angular-mocks.js:2507:60 /bower_components/angular /angular.js:4496:53 [email protected]/bower_components/angular/angular.js:341:24 [email protected]/bower_components/angular/angular.js:4456:12 createInjector @/bower_ components/angular/angular.js:4381:22 [email protected]/bower_components/angular-mocks/angular-mocks.js:2507:60 /bower_components/angular/angular.js:4496:53 PhantomJS 2.1.1(Windows 8 0.0.0):ここで行われる1の1(1 FAILED)ERROR(0.019秒/ 0.015秒)

は私のコードでは、それは本当に何もしないことの通知です。 angular.mocks.injectメソッドでは、これをコメントアウトして動作する非常に基本的なテストを追加するときに失敗するようです。

describe("Login Controller",() => { 
    var controller: App.Login.LoginController; 

    beforeEach(angular.mock.module("app.pages.auth.login")); 

    beforeEach(angular.mock.module($provide => { 
     $provide.value("$window", {}); 
    })); 

    // I can get to here ok but this line below fails with the error above 
    // Note I have also tried putting $rootScope back in but to no avail 
    beforeEach(angular.mock.inject((/*$rootScope, $state, $http, $mdToast, $window, $log*/) => { 
     console.log("test"); 
    })); 

私がチェックしていると私は間違いなく私のファイルリストに(私の依存関係リストの終わり近くalbetを)angular-mocks.jsが含まれます。依存関係を計算するのに、wiredepを使用して差があれば。

+0

かもしれない有用なく、単に '' 'angular.mock'なし(()=> {})を注入してみてください。それは私がタイプコピーとすべてを使って行うことです。 –

答えて

0

同じエラーが発生しましたが、結局私のtest.tsファイルの先頭にモジュールを作成する.tsファイルをインポートすることで修正できました。 「app.pages.auth.login」モジュールを定義する.tsファイルがインポートされないため、このエラーが発生しています。

(そして、はい、そのエラーメッセージがこれを解決全く何の助けではありません。)

関連する問題