2015-07-02 4 views
0

Я пытаюсь запустить очень простой тест угловой директивы, но, похоже, не может заставить ее работать. Мой код ниже. Ошибка, которую я вижу из jshint: '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: В настоящее время я использую жасминовый узел для тестирования. Это может быть проблемой, необходимость добавления жасмина.

+0

Вы включили angular-mocks.js? –

+0

Я сделал. Хотя, когда я добавляю 'ngMock' в качестве зависимости в моем модуле приложения, все приложение перестает работать (пустая страница, никаких ошибок в консоли). – MattDionis

+0

Важное значение имеет и порядок, который вы включаете в свой файл спецификации. Вы включили 'угловые-mocks', прежде чем вы включили тестовый файл js? – wmaxlees

ответ

0

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

Смежные вопросы