Cómo inyectar un controlador en una directiva cuando se realizan pruebas unitarias.
Quiero probar una directiva AngularJS declarada así
app.directive('myCustomer', function() {
return {
template: 'cust.html'
controller: 'customerController'
};
});
En la prueba me gustaría inyectar (o anular) el controlador, para poder probar solo las otras partes de la directiva (por ejemplo, la plantilla). loscustomerController
Por supuesto, se puede probar por separado. De esta manera obtengo una separación limpia de pruebas.
customController
utilizando$provide
.He intentado configurarng-controller
en la declaración de la directiva html utilizada en la prueba.No pude conseguir que ninguno de esos funcionara. El problema parece ser que no puedo obtener una referencia a la directiva hasta que tenga$compile
dlo Pero después de la compilación, el controlador ya está configurado.
var element = $compile("<my-customer></my-customer>")($rootScope);