Ich verwende dieses Seed-Projekt: https://github.com/juliemr/ng2-test-seed, die vor kurzem auf RC5 von eckigen aktualisiert wurde.mit Http auf Winkel 2 Unit Tests
ich die Http-Komponente in Unit-Test verwendet werden soll, so habe ich folgendes:
In package.json ich Abhängigkeiten hinzugefügt:
"@angular/http": "2.0.0-rc.5",
In src/test/user-service_test.ts ich fügte hinzu:
import { HttpModule, Http } from '@angular/http';
und modifiziert, um die Funktion beforeHttpModule umfassen:
beforeEach(() => {
TestBed.configureTestingModule({
providers: [LoginService, UserService, HttpModule]
});
});
Nun, sobald ich die Httpmodule in der Funktion hinzufügen before und versuchen, den Test, den ich diesen Fehler bekam auszuführen:
13 08 2016 09:13:27.609:WARN [web-server]: 404: /base/node_modules/@angular/http
Missing error handler on `socket`.
TypeError: (msg || "").replace is not a function
at /home/david/Workspace/ng2-seed/node_modules/karma/lib/reporter.js:45:23
at onBrowserError (/home/david/Workspace/ng2-seed/node_modules/karma/lib/reporters/base.js:58:60)
at null.<anonymous> (/home/david/Workspace/ng2-seed/node_modules/karma/lib/events.js:13:22)
at emitTwo (events.js:87:13)
at emit (events.js:172:7)
at onKarmaError (/home/david/Workspace/ng2-seed/node_modules/karma/lib/browser.js:95:13)
at Socket.<anonymous> (/home/david/Workspace/ng2-seed/node_modules/karma/lib/events.js:13:22)
at emitOne (events.js:82:20)
at Socket.emit (events.js:169:7)
at Socket.onevent (/home/david/Workspace/ng2-seed/node_modules/socket.io/lib/socket.js:335:8)
at Socket.onpacket (/home/david/Workspace/ng2-seed/node_modules/socket.io/lib/socket.js:295:12)
at Client.ondecoded (/home/david/Workspace/ng2-seed/node_modules/socket.io/lib/client.js:193:14)
at Decoder.Emitter.emit (/home/david/Workspace/ng2-seed/node_modules/component-emitter/index.js:134:20)
at Decoder.add (/home/david/Workspace/ng2-seed/node_modules/socket.io-parser/index.js:247:12)
at Client.ondata (/home/david/Workspace/ng2-seed/node_modules/socket.io/lib/client.js:175:18)
at emitOne (events.js:77:13)
Ich bin immer noch nicht die Http-Komponente in einem „it“ -Funktion , weiß jemand, wie man Http auf einem Komponententest auf Rc5 benutzt? Ich muss meine Serverdienste erreichen.
sein 'HttpModule' ein Modul ist, kein Anbieter, sollte es nicht in' providers' platziert werden. Hast du 'Importe: [HttpModule], Provider: ...' versucht? – estus
@estus Ihr Vorschlag scheint korrekt zu sein, Sie könnten das als Antwort hinzufügen und auch die notwendige Import-Anweisung einfügen. – kendaleiv
@kendaleiv Sicher. – estus