p.location-badge. exported from angular2/http defined in angular2/src/http/backends/mock_backend.ts (line 99) :markdown A mock backend for testing the Http service. This class can be injected in tests, and should be used to override bindings to other backends, such as XHRBackend. #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 Annotations .l-sub-section h3.annotation Injectable pre.prettyprint code. @Injectable() .l-sub-section h3.annotation IMPLEMENTS pre.prettyprint code. @IMPLEMENTS(ConnectionBackend) .l-main-section h2 Members .l-sub-section h3 constructor pre.prettyprint code. constructor() :markdown .l-sub-section h3 connections :markdown EventEmitter of MockConnection 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({body: '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 EventEmitter of MockConnection 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 MockConnection. This is equivalent to calling `new MockConnection()`, except that it also will emit the new `Connection` to the `connections` emitter of this `MockBackend` instance. This method will usually only be used by tests against the framework itself, not by end-users.