Почему инъекция не работает внутри beforeEach ()? - PullRequest
0 голосов
/ 09 октября 2018

Я использую AngularJS и карму для тестирования.

describe('MyController', function() {
  let UNIQUE_ID = 1;

  beforeEach(module('ngMaterial'));

  inject($mdDialog => {
    spyOn($mdDialog, 'confirm').and.callThrough();
    spyOn($mdDialog, 'show').and.callThrough();
    spyOn($mdDialog, 'title').and.callThrough();
  });

  beforeEach(
      inject(function(
          $rootScope, $timeout, $q, myService,) { ...

Все отлично работает.

Но если я добавлю его в beforeEach (и даже если я добавлю $ mdDialog какАргумент) есть ошибка: «Ошибка: метод title () не существует».

describe('MyController', function() {
  let UNIQUE_ID = 1;

  beforeEach(module('ngMaterial'));

  inject($mdDialog => {
    spyOn($mdDialog, 'confirm').and.callThrough();
    spyOn($mdDialog, 'show').and.callThrough();
    spyOn($mdDialog, 'title').and.callThrough();
  });

  beforeEach(
      inject(function(
          $rootScope, $timeout, $q, $mdDialog, myService,) {
        spyOn($mdDialog, 'confirm').and.callThrough();
        spyOn($mdDialog, 'show').and.callThrough();
        spyOn($mdDialog, 'title').and.callThrough();
        ....

Почему последний подход не работает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...