Ошибка углового тестирования: не удается разрешить все параметры для службы: - PullRequest
0 голосов
/ 12 февраля 2019

Я новичок в тестировании.У меня есть service и spec файл, который при запуске я получаю следующую ошибку:

Ошибка: не удается разрешить все параметры для DashboardService: (?).Свойства ошибки: Object ({ngSyntaxError: true})

Файл spec выглядит следующим образом:

import { TestBed } from '@angular/core/testing';
import { DashboardService } from './dashboard.service';
import { ApiService } from './../api.service';

describe('The Dashboard Service', () => {
    beforeEach(() => {
        TestBed.configureTestingModule({ providers: [DashboardService, ApiService] });
    });

    it('should be created', () => {
        const service: DashboardService = TestBed.get(DashboardService);
        expect(service).toBeTruthy();
    });
});

Пока service выглядит так:

import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { ApiService } from './../api.service';
import { Organization } from '../../models/organization';

@Injectable({
    providedIn: ApiService
})
export class DashboardService {
    constructor(private api: ApiService) {}

    getPrograms(id: number): Observable<any> {
        let url  = '/apiurl' + id;
        return this.api.get<Organization>(url);
    }
}

Так что я предполагаю, что ошибка связана с зависимостями от файла service, но после прочтения документации Angular я все еще не уверен, как сообщить Angular об этих зависимостях.Как мне структурировать файл spec для правильного чтения зависимостей?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Я добавил import 'core-js/es7/reflect'; в test.ts файл.

0 голосов
/ 12 февраля 2019

Как насчет этого?

Сначала:

import { inject } from '@angular/core/testing';

, затем:

it('should be created', inject([DashboardService], (dashboardService: DashboardService) => {
  expect(dashboardService).toBeTruthy();
}));
...