我正在尝试使用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
该软件的版本是:
如何让Jasmine找到Angular?
答案 0 :(得分:71)
确保将http://code.angularjs.org/1.1.0/angular-mocks.js包含在module
之类的angular-jasmine-helper函数中。
答案 1 :(得分:1)
这可能是一个遥远的机会,但我有同样的问题,发现我的angular-mocks.js文件已经损坏,其中有HTML。我不知道它是如何到达那里的。因此,如果您在尝试修复后遇到此错误,请仔细检查所有js文件,以确保它们没有被搞砸或损坏。