Ich habe zwei Mock Dienstleistungen:Wie können verschiedene Testdienste bereitgestellt werden, um die Komponente Angular 2 zu testen?
@Injectable()
class UserRegistrationServiceMock {
registerBasicDetails(details: UserRegistrationDetails) {
let response: UserRegistrationResponse = new UserRegistrationResponse();
response.success = false;
response.userMessage = 'Test Message';
return Observable.of(response);
}
registerAdvancedDetails() {
}
}
@Injectable()
class UserRegistrationServiceSuccessMock {
registerBasicDetails(details: UserRegistrationDetails) {
let response: UserRegistrationResponse = new UserRegistrationResponse();
response.success = true;
response.userMessage = 'Test Message';
return Observable.of(response);
}
registerAdvancedDetails() {
}
}
In meinem Jasmine Test stelle ich seine Definition in den "beforeEachProviders" und "before" Methoden:
beforeEachProviders(() => [
provide(UserRegistrationService, { useClass: UserRegistrationServiceMock })
]);
beforeEach(inject([UserRegistrationService], (_userRegistration))
Da ist in meinem eigentlichen Test ich die referenzieren Benutzerregistrierungsdienst, um die Komponente zu initialisieren:
Die Frage hier ist, wie ich das zweite Scheinimplementiergerät zur Verfügung stellen kann Service für meine Komponente?