小编oxi*_*ane的帖子

Jasmine测试没有看到AngularJS模块

我正在尝试使用Jasmine规范文件对Angular服务进行单元测试.这需要加载模块.这是一个简单的规范,旨在简单地加载Angular模块:

describe('Submission services', function () {
  it('Finds angular', function () {
    module('submissionServices');
  });
});
Run Code Online (Sandbox Code Playgroud)

当我运行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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

该软件的版本是:

  • Rails 3.2.7
  • 茉莉核心1.2.0
  • jasmine-headless-webkit 0.8.4
  • AngularJS 1.0.2

我需要做些什么才能让Jasmine找到Angular?

jasmine angularjs

35
推荐指数
1
解决办法
2万
查看次数

AngularJS测试错误:未知提供者:$ _httpBackend_Provider < - $ _httpBackend_

我试图用Jasmine单元测试规范文件测试AngularJS控制器.我的方法是使用$ httpBacked,在以下测试中:

describe('SubmissionsController', function() {
    var minimal_mock_response = [ { id: 1 } ]; 
    var scope, routeParams, $httpBackend; 

    beforeEach(module('submissionServices'));

    beforeEach(inject(function($_httpBackend_, $rootScope) {
        scope = $rootScope.$new();  
        $httpBackend = $_httpBackend_;
        $httpBackend.expectGET('/submissions').respond(minimal_mock_response);
        routeParams = {};
    }));

    it('passes a trivial test', function() {
        expect(true).toBe(true);
    });
});
Run Code Online (Sandbox Code Playgroud)

我插入expect(true).toBe(true)只是为了让测试执行并失败,即使它没有触及角度控制器.当II尝试使用jasmine-headless-webkit运行测试时,我收到以下错误:

jasmine-headless-webkit spec/javascripts/SubmissionsControllerSpec.js

Running Jasmine specs...
F
FAIL: 1 test, 1 failure, 0.011 secs.

Submissions controllers SubmissionsController passes a trivial test.     (XXX/spec/javascripts/SubmissionsControllerSpec.js:18)
Error: Unknown provider: $_httpBackend_Provider <- $_httpBackend_

Test ordering seed: --seed 9254 
Run Code Online (Sandbox Code Playgroud)

是否有任何关于如何纠正此错误并使琐碎的测试执行的提示?

jasmine angularjs

5
推荐指数
2
解决办法
8294
查看次数

标签 统计

angularjs ×2

jasmine ×2