Жасмин тест для угловой директивы не работает

0

Я пытаюсь запустить очень простой тест на угловую директиву, но не могу заставить ее работать. Мой код ниже. Ошибка, которую я вижу из jshint: 'inject' is not defined inject 'inject' is not defined, а ошибка для моего неудачного теста: TypeError: object is not a function.

'use strict';

describe('playerInfo directive', function() {
  var $compile;
  var $rootScope;

  beforeEach(module('gameApp'));

  beforeEach(inject(function(_$compile_, _$rootScope_) {
    $compile = _$compile_;
    $rootScope = _$rootScope_;
  }));

  it('should replace the element with the appropriate content', function() {
    var element = $compile('<dm-player-info></dm-player-info>')($rootScope);
    $rootScope.$digest();
    expect(element.html()).toContain('Member Since:');
  });
});

Тест не работает с указанным выше сообщением об ошибке, как только он попадает в module. Так что ясно, что тест не подбирает, что включены angular-mocks. Тем не менее, я упоминал об этом в своем index.html и тестировал как с ngMock как зависимость от приложения (который разбивает мое приложение, но все еще не запускает тест) и без него.

UPDATE: В настоящее время я использую jasmine-node для тестирования. Это может быть проблемой, необходимость добавления жасмина.

Теги:
unit-testing
jasmine

1 ответ

0

Я столкнулся с этой проблемой только сейчас, и это то, что сделал мой день (в самом конце этого на самом деле). Просто добавьте module('ng') вместе с module('yourAppModule'). Я поставил их перед каждым блоком. Он должен работать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню