
p.location-badge.
  exported from <a href='../http'>angular2/http</a>
  defined in <a href="https://github.com/angular/angular/tree/3a0410a/modules/angular2/src/http/backends/mock_backend.ts#L106-L240">angular2/src/http/backends/mock_backend.ts (line 106)</a>

:markdown
  A mock backend for testing the <a href='Http-class.html'><code>Http</code></a> service.
  
  This class can be injected in tests, and should be used to override bindings
  to other backends, such as <a href='XHRBackend-class.html'><code>XHRBackend</code></a>.
  
  #Example
  
  ```
  import {MockBackend, DefaultOptions, Http} from 'angular2/http';
  it('should get some data', inject([AsyncTestCompleter], (async) => {
    var connection;
    var injector = Injector.resolveAndCreate([
      MockBackend,
      bind(Http).toFactory((backend, defaultOptions) => {
        return new Http(backend, defaultOptions)
      }, [MockBackend, DefaultOptions])]);
    var http = injector.get(Http);
    var backend = injector.get(MockBackend);
    //Assign any newly-created connection to local variable
    backend.connections.subscribe(c => connection = c);
    http.request('data.json').subscribe((res) => {
      expect(res.text()).toBe('awesome');
      async.done();
    });
    connection.mockRespond(new Response('awesome'));
  }));
  ```
  
  This method only exists in the mock implementation, not in real Backends.
  
  
.l-main-section
  h2 Members
  .l-sub-section
    h3 constructor

    
    pre.prettyprint
      code.
        constructor()
    
    :markdown
      
      




  .l-sub-section
    h3 connections

    
    :markdown

      [RxJS
      Subject](https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/subjects/subject.md)
      of <a href='MockConnection-class.html'><code>MockConnection</code></a> instances that have been created by this backend. Can be subscribed
      to in order to respond to connections.
      
      #Example
      
      ```
      import {MockBackend, Http, BaseRequestOptions} from 'angular2/http';
      import {Injector} from 'angular2/di';
      
      it('should get a response', () => {
        var connection; //this will be set when a new connection is emitted from the backend.
        var text; //this will be set from mock response
        var injector = Injector.resolveAndCreate([
          MockBackend,
          bind(Http).toFactory(backend, options) {
            return new Http(backend, options);
          }, [MockBackend, BaseRequestOptions]]);
        var backend = injector.get(MockBackend);
        var http = injector.get(Http);
        backend.connections.subscribe(c => connection = c);
        http.request('something.json').subscribe(res => {
          text = res.text();
        });
        connection.mockRespond(new Response('Something'));
        expect(text).toBe('Something');
      });
      ```
      
      This property only exists in the mock implementation, not in real Backends.
      
      





  .l-sub-section
    h3 connectionsArray

    
    :markdown

      An array representation of `connections`. This array will be updated with each connection that
      is created by this backend.
      
      This property only exists in the mock implementation, not in real Backends.
      
      





  .l-sub-section
    h3 pendingConnections

    
    :markdown

      [Observable](https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/observable.md)
      of <a href='MockConnection-class.html'><code>MockConnection</code></a> instances that haven't yet been resolved (i.e. with a `readyState`
      less than 4). Used internally to verify that no connections are pending via the
      `verifyNoPendingRequests` method.
      
      This property only exists in the mock implementation, not in real Backends.
      
      





  .l-sub-section
    h3 verifyNoPendingRequests

    
    pre.prettyprint
      code.
        verifyNoPendingRequests()
    
    :markdown

      Checks all connections, and raises an exception if any connection has not received a response.
      
      This method only exists in the mock implementation, not in real Backends.
      
      





  .l-sub-section
    h3 resolveAllConnections

    
    pre.prettyprint
      code.
        resolveAllConnections()
    
    :markdown

      Can be used in conjunction with `verifyNoPendingRequests` to resolve any not-yet-resolve
      connections, if it's expected that there are connections that have not yet received a response.
      
      This method only exists in the mock implementation, not in real Backends.
      
      





  .l-sub-section
    h3 createConnection

    
    pre.prettyprint
      code.
        createConnection(req: Request)
    
    :markdown

      Creates a new <a href='MockConnection-class.html'><code>MockConnection</code></a>. This is equivalent to calling `new
      MockConnection()`, except that it also will emit the new `Connection` to the `connections`
      observable of this `MockBackend` instance. This method will usually only be used by tests
      against the framework itself, not by end-users.
      
      




