Не удалось загрузить резюме для директивы Angular Jasmine Karma - PullRequest
0 голосов
/ 29 апреля 2019

Приветствую. Я пытаюсь выполнить модульный тест с помощью jasmine + karma, в angular 7, но всегда получаю эту ошибку:

Ошибка: недопустимое состояние: не удалось загрузить сводку для директивы DataStorageService.

Я знаю, что это связано с импортом или декларациями, но не вижу, что не так

Мой файл спецификаций:

import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, Component, NgModule } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { TranslateModule } from '@ngx-translate/core';
import { IonicModule } from '@ionic/angular';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { HttpClientModule } from '@angular/common/http';
import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx';
import { DataStorageService } from './post-data-service';
import { AppRoutingModule } from '../app-routing.module';
import { CommonModule } from '@angular/common';
import { AppComponent } from '../app.component';

describe('HomePage', () => {
  let component: DataStorageService;
  let fixture: ComponentFixture<DataStorageService>;
  let service: DataStorageService;

  beforeEach(async(() => {
    fixture = TestBed.createComponent(DataStorageService);
    component = fixture.debugElement.componentInstance;
    TestBed.configureTestingModule({
      declarations: [DataStorageService],
      schemas: [NO_ERRORS_SCHEMA],
      providers: [BarcodeScanner, DataStorageService],
      imports: [
        TranslateModule.forRoot(),
        IonicModule,
        FormsModule,
        RouterModule,
        AppRoutingModule,
        HttpClientModule,
        CommonModule]
    })
      .compileComponents();
  }));
  afterEach(() => {
    service = null;
    fixture = null;
    component = null;
  });
  it('should create', () => {
    expect(component).toBeDefined();
  });
});

мой сервис

import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';

//endpoint
const endpoindURL = 'https://example.com/backend';

@Injectable({
  providedIn: 'root'
})

export class DataStorageService {
  result: any;
  constructor(private http: HttpClient) {
  }

  sendCodeToServer(data) {
    const headers = new HttpHeaders().set('Content-Type', 'application/json');
    return new Promise((resolve, reject) => {
      this.http.post(endpoindURL, data, { headers: headers })
        .toPromise().then((data) => {
          resolve(data);
        }).catch((err) => {
          console.log(err);
          reject(err);
        });
    });
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...