Я пытаюсь смоделировать сервис в моем модульном тесте Angular, но получаю ошибку:
Error: <spyOn> : getApplications() method does not exist Angular unit test
Я использую жасмин и шпион, как это
function configureapplicationServiceMock() {
applicationServiceMock = jasmine.createSpy('ApplicationServiceMock');
applicationServiceMock.application$ = Observable.of(Applications.ApplicationDummy);
const applicationInstellingen = new ApplicationInstellingen();
applicationInstellingen.emailEnabled = false;
applicationServiceMock.instellingen = applicationInstellingen;
spyOn(applicationServiceMock, 'getApplications');
}
и эта функция вызывается в функции beforeeach следующим образом
beforeEach(() => {
configureapplicationServiceMock();
TestBed.configureTestingModule({
imports: [ReactiveFormsModule, FormsModule, FileUploadModule, RouterModule.forRoot([])],
declarations: [SendComponent, ResourcePipeStub],
providers: [
{ provide: ResourcePipeStub, useClass: ResourcePipeStub },
{ provide: NotificationService, useFactory: () => notificationServiceMock },
{ provide: ApplicationService, useValue: applicationServiceMock }
],
schemas: [ CUSTOM_ELEMENTS_SCHEMA ]
});
fixture = TestBed.createComponent(SendComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
Я пробовал разные вещи, такие как spyOn с .and.returnValue (), но все еще не работал. Я даже пытался сделать что-то вроде этого applicationServiceMock.getApplications = // функция создана, но ничего не работает. Что я делаю не так?