35

Jasmineスペックファイルを使用してAngularサービスの単体テストを試みています。これには、モジュールをロードする必要があります。Angularモジュールを単純にロードするために設計された簡単な仕様を次に示します。

describe('Submission services', function () {
  it('Finds angular', function () {
    module('submissionServices');
  });
});

Jasmineを実行すると、次のエラーが発生します

Running Jasmine specs...
FAIL: 1 test, 1 failure, 0.004 secs.

Submission services Finds angular. (/Users/XXX/Projects/globe_town/spec/javascripts/SubmissionsSpec.js:3)
ReferenceError: Can't find variable: module

Test ordering seed: --seed 1826
rake aborted!
Jasmine::Headless::TestFailure

jasmine.ymlファイルには

src_files:
  - public/javascripts/jquery.js
  - spec/javascripts/lib/angular/angular.js
  - spec/javascripts/lib/angular/angular-resource.js
  - app/assets/javascripts/services/submissions.js

stylesheets:
  - stylesheets/**/*.css

helpers:
  - helpers/**/*.js

spec_files:
  - '**/*[sS]pec.js'

src_dir:

spec_dir: spec/javascripts

ソフトウェアのバージョンは次のとおりです。

  • Rails 3.2.7
  • ジャスミンコア1.2.0
  • jasmine-headless-webkit 0.8.4
  • AngularJS 1.0.2

JasmineにAngularを見つけさせるには、何をする必要がありますか?

4

2 に答える 2

71

のようなangular-jasmine-helper関数には、必ずhttp://code.angularjs.org/1.1.0/angular-mocks.jsmoduleを含めてください。

于 2012-10-17T17:27:13.637 に答える
1

これはおそらく遠いチャンスですが、同じ問題が発生し、angular-mocks.jsファイルが破損していてHTMLが含まれていることがわかりました。どうやってそこにたどり着いたのかわかりません。したがって、修正を試みた後にこのエラーが発生した場合は、すべてのjsファイルを再確認して、それらのファイルが混乱したり破損したりしていないことを確認してください。

于 2016-02-08T15:45:10.900 に答える