Я пытаюсь запустить очень простой тест угловой директивы, но, похоже, не может заставить ее работать. Мой код ниже. Ошибка, которую я вижу из 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: В настоящее время я использую жасминовый узел для тестирования. Это может быть проблемой, необходимость добавления жасмина.
Вы включили angular-mocks.js? –
Я сделал. Хотя, когда я добавляю 'ngMock' в качестве зависимости в моем модуле приложения, все приложение перестает работать (пустая страница, никаких ошибок в консоли). – MattDionis
Важное значение имеет и порядок, который вы включаете в свой файл спецификации. Вы включили 'угловые-mocks', прежде чем вы включили тестовый файл js? – wmaxlees