2014-03-25 45 views
2

我試圖將humane.js notification library合併到我的AngularJS應用程序中。我已經將humane.js使用包裝到了Angular服務中,並且該應用程序正常工作。但是,當我試圖寫單元測試的角度服務,我得到嘗試執行該服務的第一次測試時,出現以下錯誤:AngularJS單元測試'ReferenceError:人性化未定義'

ReferenceError: humane is not defined 

我karma.conf文件中包含的參考humane.js文件:

files: [ 
    'bower_components/angular/angular.js', 
    'bower_components/angular-route/angular-route.js', 
    'bower_components/angular-mocks/angular-mocks.js', 
    'bower_components/messageformat/messageformat.js', 
    'bower_components/angular-translate/angular-translate.js', 
    'bower_components/angular-translate-interpolation-messageformat/angular-translate-interpolation-messageformat.js', 
    'bower_components/angular-translate-loader-static-files/angular-translate-loader-static-files.js', 
    'bower_components/momentjs/moment.js', 
    'other_components/highcharts-ng/src/directives/highcharts-ng.js', 
    'other_components/keylines/keylines.js', 
    'other_components/logging/log4javascript.js', 
    'bower_components/angular-bootstrap/ui-bootstrap-tpls.js', 
    'bower_components/humane-js/humane.js', 
    'scripts/*.js', 
    'scripts/*/*.js', 
    'resources/defaultTranslations.js', 
    'test/unit/*/*.js', 
    'views/*.html' 
], 

我找不出什麼問題。如果我將Humane.js替換爲其他類似的通知庫 - alertify.js - 並執行完全相同的操作,則不會出現錯誤。

我錯過了什麼?就像我說的,應用程序的工作原理,包括通知部分。只有單元測試受到影響。該Humane.js模塊使用一些不尋常的(對我)自動執行模塊的語法:

;!function (name, context, definition) { 
    if (typeof module !== 'undefined') module.exports = definition(name, context) 
    else if (typeof define === 'function' && typeof define.amd === 'object') define(definition) 
    else context[name] = definition(name, context) 
}('humane', this, function (name, context) { 

...這裏模塊定義...

return new Humane() 
}) 

我想知道如果這是混淆了某種程度上的業力加載器。另一個庫(alertify.js)沒有這個結構。

+0

您能否介紹一下最終使用的成品有角包裝?這將是非常有益的! –

+0

恐怕我發佈後不久就放棄嘗試使用humane.js,所以我沒有任何東西可以提供給你。抱歉! –

回答

0

在試圖找出不同的Karma錯誤時得到了此處。它可能沒有關係,但我看到你的業力文件路徑看起來不同於我。我通常使用通過角發生器生成的默認設置,並在我的karma kong中生成如下產品:

 files  : [ 
      'app/bower_components/angular/angular.js', 
      'app/bower_components/angular-mocks/angular-mocks.js', 
      'app/bower_components/angular-resource/angular-resource.js', 
      'app/bower_components/angular-cookies/angular-cookies.js', 
      'app/bower_components/angular-sanitize/angular-sanitize.js', 
      'app/bower_components/angular-route/angular-route.js' 
      ... 
     ], 
相關問題