0

私は、angularJS工場のジャスミンテストケースを作成するのが初めてです。 工場全体をテストしたいですが、getKeysを取得できません。ここに私の工場があります。ジャスミン2.0ユニットテストfor angularjs工場

私の工場は次のとおりです。

'use strict'; 
var a11yModule = angular.module('TestModule', ['ui.bootstrap']); 
a11yModule.factory('TestFacotry', ['$q', '$timeout', function ($q, $timeout) { 
    return { 
     getKeys: function() { 
      return { 
       "abc": 32, 
       "gpa": 33, 
       "end": 35 
      }; 
     } 
    }; 
}]) 

マイユニット仕様は次のとおりです。

describe('modu testing', function() { 
    var TestFacotryMock, q, timeout; 
    beforeEach(module('TestModule', ['ui.bootstrap'])); 

    beforeEach(inject(function (_$q_, _$timeout_, _TestFacotry_) { 
     q = _$q_; 
     timeout = _$timeout_; 
     TestFacotryMock = _TestFacotry_; 

    })); 

    it('Should ', function() { 
     //var output = TestFacotryMock.getKeys.something(); 
     expect(typeof getKeys()).toBe('function'); 
    }); 

}); 

エラーが

エラーです:インスタンス化に失敗しました:[modulerr $インジェクタ]モジュールTestModule: エラー:[$ injector:modulerr] エラー:[$ injector:nomod]モジュール 'ui.bootstrap'が利用できません。モジュールui.bootstrapのインスタンス化に失敗しました。モジュール名のスペルが間違っているか、モジュール名を読み込めませんでした。モジュールを登録する場合は、依存関係を2番目の引数として指定するようにしてください。

+0

あなたは渡す必要はありません '[ 'ui.bootstrap']'しばらくテスト、ちょうど 'beforeEach(モジュール( 'TestModule'));' – tanmay

+0

でも 'ui.bootstrap'を渡さなくても同じエラーが発生する – lucky

+0

あなたのkarma-conf.jsファイルにui-bootstrapをファイルとして追加してください:[ 'bower_components/*/*/ui-bootstrap.js'] – ramanathan

答えて

0

角モックライブラリはジャスミンに依存しているので、jaminはindex.htmlの角モジュールの前に参照する必要があります。

load the libraries like jasmin angular,angular-mock from local folder instead from web

<link data-require="jasmine" data-semver="1.3.1" rel="stylesheet" href="http://cdn.jsdelivr.net/jasmine/1.3.1/jasmine.css"> 
<script data-require="jasmine" data-semver="1.3.1" src="http://cdn.jsdelivr.net/jasmine/1.3.1/jasmine.js"></script> 
<script data-require="jasmine" data-semver="1.3.1" src="http://cdn.jsdelivr.net/jasmine/1.3.1/jasmine-html.js"></script>   
<script data-require="angular.js" data-semver="1.1.5" src="http://code.angularjs.org/1.1.5/angular.min.js"></script> 
<script data-require="angular-resource.js" data-semver="1.1.5" src="http://code.angularjs.org/1.1.5/angular-resource.min.js"></script> 
<script data-require="angular-mocks" data-semver="1.1.5" src="angular-mocks.js"></script> 
<link rel="stylesheet" href="style.css"> 
<script src="jasmineBootstrap.js"></script> 
<script src="script.js"></script> 
<script src="addSpec.js"></script> 

ユニットテストでいくつかのミスが

it('Should ', function() { 

    expect(typeof TestCommonMock.getKeys()).toBe('object'); 
}); 
関連する問題