simulacro de $ httpBackend en pruebas angulares e2e

¿Alguien tiene una idea de cómo simular $ httpBackend en pruebas angulares e2e? La idea es aplazar solicitudes XHR mientras se ejecutan pruebas en travis-ci. Estoy usando karma para representar activos y parciales de mi aplicación Rails que se ejecuta en travis. Quiero hacer pruebas de aceptación sin consultas de base de datos reales.

Aquí es parte de mi archivo de configuración karma:

...
files = [
  MOCHA,
  MOCHA_ADAPTER,

  'spec/javascripts/support/angular-scenario.js',
  ANGULAR_SCENARIO_ADAPTER,

  'spec/javascripts/support/angular-mocks.js',
  'spec/javascripts/e2e/**/*_spec.*'
];
...

proxies = {
  '/app': 'http://localhost:3000/',
  '/assets': 'http://localhost:3000/assets/'
};
...

Aquí es parte de mi archivo de especificaciones:

beforeEach(inject(function($injector){
  browser().navigateTo('/app');
}));

it('should do smth', inject(function($rootScope, $injector){
  input('<model name>').enter('smth');
  //this is the point where I want to stub real http query
  pause();
}));

He intentado recibir el servicio $ httpBackend a través de $ injector:

$injector.get('$httpBackend')

Pero este no es el que se usa dentro de iframe donde se ejecutan mis pruebas.

El siguiente intento que hice fue usar angular.scenario.dsl, aquí está el código samle:

angular.scenario.dsl('mockHttpGet', function(){
  return function(path, fakeResponse){
    return this.addFutureAction("Mocking response", function($window, $document, done) {
      // I have access to window and document instances 
      // from iframe where my tests run here
      var $httpBackend =  $document.injector().get(['$httpBackend']);
      $httpBackend.expectGET(path).respond(fakeResponse)
      done(null);
    });
  };
});

Ejemplo de uso:

it('should do smth', inject(function($rootScope, $injector){
  mockHttpGet('<path>', { /* fake data */ });
  input('search.name').enter('mow');
  pause();
}));

Esto lleva al siguiente error:

<$httpBackend listing>  has no method 'expectGET'

Entonces, en este punto no tengo idea del siguiente paso. ¿Alguien ha intentado hacer algo como esto, es este tipo de aplastamiento realmente posible?

Respuestas a la pregunta(3)

Su respuesta a la pregunta