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.

He intentado anular el controlador configurando la propiedad del controlador en la prueba.He intentado inyectar elcustomController 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$compiledlo Pero después de la compilación, el controlador ya está configurado.

 var element = $compile("<my-customer></my-customer>")($rootScope);

Respuestas a la pregunta(2)

Su respuesta a la pregunta