mock $ httpBackend em testes angulares e2e

Alguém tem uma idéia de como simular $ httpBackend em testes angulares e2e? A ideia é solicitar solicitações XHR durante a execução de testes no travis-ci. Estou usando karma para fazer proxy de ativos e parciais do meu aplicativo de trilhos executado no travis. Eu quero fazer testes de aceitação sem consultas DB reais.

Aqui faz parte do meu arquivo de configuração 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/'
};
...

Aqui faz parte do meu arquivo de especificações:

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();
}));

Eu tentei receber o serviço $ httpBackend através de $ injector:

$injector.get('$httpBackend')

Mas este não é o que é usado dentro do iframe onde meus testes são executados.

A próxima tentativa que fiz foi usando angular.scenario.dsl, aqui está o 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);
    });
  };
});

Exemplo de uso:

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

Isso leva ao seguinte erro:

<$httpBackend listing>  has no method 'expectGET'

Então, neste momento, não tenho ideia do próximo passo. Alguém já tentou fazer algo assim, este tipo de stubbing é realmente possível?

questionAnswers(3)

yourAnswerToTheQuestion