Угловые юнит-тесты не пройдены - Необычная ошибка фантома - PullRequest
0 голосов
/ 12 апреля 2019

Я запускаю ng test, чтобы запустить мои 3 модульных теста , которые жестко заданы для прохождения , например:

describe('AppComponent', () => {
  beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [
        HttpClientTestingModule
      ],
      declarations: [
        AppComponent
      ]
    }).compileComponents();
  }));

  it('should create the app', () => {
    // const fixture = TestBed.createComponent(AppComponent);
    // const app = fixture.debugElement.componentInstance;
    // expect(app).toBeTruthy();

    expect(true).toBe(true);
  });

Однако я получаю эту странную ошибку:

12 04 2019 16:38:11.231:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
12 04 2019 16:38:11.256:INFO [launcher]: Starting browser PhantomJS                                                             12 04 2019 16:38:19.761:INFO [PhantomJS 2.1.1 (Windows 8 0.0.0)]: Connected on socket nXFNY5PRUCvs5FtgAAAA with id 70621517
PhantomJS 2.1.1 (Windows 8 0.0.0) AppComponent should create the app FAILED
        parse
        then
        _parseTemplate
        _compileTemplate
        forEach
        _compileComponents
        _compileModuleAndAllComponents
        compileModuleAndAllComponentsAsync
        compileModuleAndAllComponentsAsync
        compileModuleAndAllComponentsAsync
        compileComponents
        compileComponents
        invoke
        onInvoke
        onInvoke
        invoke
        runGuarded
        runInTestZone
        invoke
        onInvoke
        invoke
        run
        runInTestZone
        execute
        execute
        invokeTask
        runTask
        drainMicroTaskQueue
        parse
        then
        _parseTemplate
        _compileTemplate
        forEach
        _compileComponents
        _compileModuleAndAllComponents
        compileModuleAndAllComponentsSync
        compileModuleAndAllComponentsSync
        compileModuleAndAllComponentsSync
        _initIfNeeded
        createComponent
        createComponent
        invoke
        onInvoke
        invoke
        run
        runInTestZone

Вот и все, что говорит стек ошибок.

1 Ответ

1 голос
/ 13 апреля 2019

Я импортировал import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; в мой app.component.ts файл и использовал его там, поэтому мне также пришлось импортировать его в мой .spec.ts файл и объявить его как схему:

import { TestBed, async } from '@angular/core/testing';
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { AppComponent } from './app.component';

describe('AppComponent', () => {
  beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [
        HttpClientTestingModule
      ],
      declarations: [
        AppComponent
      ],
      schemas: [
        CUSTOM_ELEMENTS_SCHEMA // needed to add this
      ]
    }).compileComponents();
  }));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...