Ich erstelle eine eckige 2-Anwendung mit Typoskript und muss den Dienst mit Jasmine testen. Wie Sie in der Testmethode sehen können, muss ich http zu meinem Dienst für diese Arbeit injizieren. Wie injiziere ich HTTP in meinen Dienst? Dies ist die Codezeile, die ich bezieheInjizieren in Jasmine
var _getCustomerService: GetCustomerService = neu GetCustomerService (http);
Service-Methode
@Injectable()
export class GetCustomerService {
constructor(private http: Http) { }
private customerUrl = 'http://localhost:45870/api/getcustomer';
getCustomer(): Observable<Customer[]> {
return this.http.get(this.customerUrl)
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json().error || 'Server Error'));
}
}
Jasmin Test
describe("Service test", function() {
it("check service", function() {
var http: Http;
var _getCustomerService: GetCustomerService = new GetCustomerService (http);
_getCustomerService.getCustomer()
.subscribe(
(Customer: Customer[]) => {
var customer: Customer[];
customer = Customer;
expect(customer).toBeDefined();
});
});
});
Ich erhalte Fehler bei dieser Codezeile useFactory: (Backend, Optionen) => { return new Http (Backend, Optionen); }. Seine sagt Parameter Backend Implity hat alle Arten. Gleiche Nachricht für Optionen – Tom
Was ist die Fehlermeldung? Siehe meine Bearbeitung. Vielleicht müssen Sie nur einen Typ zu den Parametern hinzufügen –
Sein sagt Parameter Backend Implizität hat alle Arten. Die gleiche Nachricht für Optionen – Tom