Spec-Zone.ru › Angular.js 1.5

Улучшить эту документацию Посмотреть исходный код angular.mock.module.sharedInjector

  1. функция в модуле ngMock

ПРИМЕЧАНИЕ: Эта функция объявляется ТОЛЬКО при выполнении тестов с использованием jasmine или mocha

Эта функция гарантирует, что один инжектор будет использоваться для всех тестов в данном контексте describe. Это отличается от стандартного поведения, где новый инжектор создаётся для каждого тестового случая.

Используйте sharedInjector, когда хотите воспользоваться методами Jasmine's beforeAll(), или mocha's before(). Вызовите module.sharedInjector() перед настройкой любых других хуков, которые будут создавать (т.е. вызывать module()) или использовать (т.е. вызывать inject()) инжектор.

Вы не можете вызвать sharedInjector() из контекста, уже использующего sharedInjector().

Обычно передBeforeAll используется для выполнения множества утверждений относительно одной операции. Это может сократить время выполнения тестов, так как настройка тестов не нужно перевыполнять, и это позволяет сосредоточиться на каждом тесте с одним утверждением.

describe("Deep Thought", function() {

  module.sharedInjector();

  beforeAll(module("UltimateQuestion"));

  beforeAll(inject(function(DeepThought) {
    expect(DeepThought.answer).toBeUndefined();
    DeepThought.generateAnswer();
  }));

  it("has calculated the answer correctly", inject(function(DeepThought) {
    // Because of sharedInjector, we have access to the instance of the DeepThought service
    // that was provided to the beforeAll() hook. Therefore we can test the generated answer
    expect(DeepThought.answer).toBe(42);
  }));

  it("has calculated the answer within the expected time", inject(function(DeepThought) {
    expect(DeepThought.runTimeMillennia).toBeLessThan(8000);
  }));

  it("has double checked the answer", inject(function(DeepThought) {
    expect(DeepThought.absolutelySureItIsTheRightAnswer).toBe(true);
  }));

});

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.5.11/docs/api/ngMock/function/angular.mock.module.sharedInjector

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API