Ошибка: <spyOn>: метод getApplications () не существует Угловой модульный тест с жасмином - PullRequest
0 голосов
/ 06 июня 2019

Я пытаюсь смоделировать сервис в моем модульном тесте 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 = // функция создана, но ничего не работает. Что я делаю не так?

...