это только один способ, есть несколько вещей, которые нужно протестировать в зависимости от того, какую ошибку вы хотите поймать раньше
Первый код Refactor, в этой строке метод извлечения
const email = getEmail();
это новый метод для этого, так что мы можем следить за этим позже
getEmail():string {
return this.email.value.originurl;
}
Затем создайте макет службы в файле .SPEC
let mockEmailService = jasmine.createSpyObj(['create']);
Затем на испытательном стенде обратите внимание на значение поставщика здесь
TestBed.configureTestingModule({
declarations:[Component1, Component2],
imports: [HttpClientTestingModule,SomeModule],
providers: [
{provide: EmailService, useValue: mockEmailService}
]
...
....
});
}));
Затем на модульном тесте
it('should call email service create on create() at least once', () => {
//Arrange
spyOn(component,'getEmail').and.returnValue('mockemail@emailer.com');
mockEmailService.create.and.callThrough();
//Act
component.create();
//Assert
expect(mockEmailService.create).toHaveBeenCalledTimes(1);
});
это просто пример, опять же, просто чтобы показать вам, что вы можете сделать в ПЕРВЫЙ. Не стесняйтесь изменить это и познакомьтесь с насмешками, шпионами и испытательным стендом