相关疑难解决方法(0)

单元测试具有依赖关系的AngularJS工厂

当单元测试Angular工厂(使用Karma + Jasmine)时,如何将存根依赖注入到被测工厂中?

这是我的工厂:

mod = angular.module('myFactoryMod', []);

mod.factory('myFactory', [
  '$log', 'oneOfMyOtherServices', function($log, svc) {
    return makeSomethingThatDoesSomethingWithTheseDependencies($log, svc);
  }
]);
Run Code Online (Sandbox Code Playgroud)

oneOfMyOtherServices 实例化我的工厂时需要.

这是我的测试:

it('can get an instance of my factory', function() {
  var oneOfMyOtherServicesStub;

  angular.mock.module('myFactoryMod');

  oneOfMyOtherServicesStub = {
    someVariable: 1
  };

  //****How do I get my stub in my target? ****

  angular.mock.inject(['myFactory', function(target) {

      expect(target).toBeDefined();

    }
  ]);
})
Run Code Online (Sandbox Code Playgroud)

NB我知道这$controller允许控制器,但我没有看到工厂的等价物.

jasmine angularjs karma-runner

76
推荐指数
2
解决办法
6万
查看次数

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 ×2

jasmine ×2

karma-runner ×1