Unidad de prueba directiva AngularJS con templateUrl
Tengo una directiva AngularJS que tiene unatemplateUrl
definido Estoy tratando de probarlo con Jasmine.
Mi jazmín JavaScript se parece a lo siguiente, por recomendación deesta:
describe('module: my.module', function () {
beforeEach(module('my.module'));
describe('my-directive directive', function () {
var scope, $compile;
beforeEach(inject(function (_$rootScope_, _$compile_, $injector) {
scope = _$rootScope_;
$compile = _$compile_;
$httpBackend = $injector.get('$httpBackend');
$httpBackend.whenGET('path/to/template.html').passThrough();
}));
describe('test', function () {
var element;
beforeEach(function () {
element = $compile(
'<my-directive></my-directive>')(scope);
angular.element(document.body).append(element);
});
afterEach(function () {
element.remove();
});
it('test', function () {
expect(element.html()).toBe('asdf');
});
});
});
});
Cuando ejecuto esto en mi error de especificación de Jasmine obtengo el siguiente error:
TypeError: Object #<Object> has no method 'passThrough'
Todo lo que quiero es que el templateUrl se cargue como está - no quiero usarrespond
. Creo que esto puede estar relacionado con él usandongMock en lugar dengMockE2E. Si este es el culpable, ¿cómo uso este último en lugar del primero?
¡Gracias por adelantado!