Angular 4 тестирование - выброшено [object ErrorEvent]

Я в процессе завершения тестового стенда для своего углового приложения. Но есть проблема в тестировании карма-жасмина, которая выдает ошибку

[объект ErrorEvent] брошен

Я обновил node_modules как решение, которое нашел по следующей ссылке Как отладить ошибку, вызванную [object ErrorEvent] в моих тестах Karma / Jasmine?

Но теперь ошибка возникает в случайные моменты времени, иногда испытательный стенд завершается без каких-либо сбоев, иногда выше срабатывания триггеров ошибок. Есть предложения, чтобы избежать этого навсегда?

PS - Дайте мне знать в комментариях, если вам нужно больше ресурсов. Спасибо!

SomeComponent.spec.ts

import { RouterTestingModule } from '@angular/router/testing';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { NgModule } from '@angular/core';
import { HttpClient, HttpClientModule } from '@angular/common/http';
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';

import { SomeComponent } from './some.component';
import { HttpLoaderFactory } from '../app.module';
import { AppRoutingModule } from '../app-routing.module';    
import { SomeService } from './../services/some.service';

describe('SomeComponent', () => {
  let component: SomeComponent;
  let fixture: ComponentFixture<SomeComponent>;

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [
        TranslateModule.forRoot({
          loader: {
            provide: TranslateLoader,
            useFactory: HttpLoaderFactory,
            deps: [HttpClient]
          }
        }),
        HttpClientModule,
        AppRoutingModule,
        FormsModule,
        ReactiveFormsModule ,
        RouterTestingModule,
        NgbModule.forRoot(),
        FormsModule, 
        ReactiveFormsModule,
      ],
      declarations: [
        SomeComponent
       ],
      providers: [
        SomeService
       ]
    })
    .compileComponents();
  }));

  beforeEach(() => {
    fixture = TestBed.createComponent(SomeComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

  it('should create', () => {
    expect(component).toBeTruthy();
  });
});

person Lakindu Gunasekara    schedule 05.01.2018    source источник
comment
Можете ли вы добавить свой код, который выдает ошибку?   -  person Jonathan Corrin    schedule 05.01.2018
comment
@JonathanCorrin добавил код спец. Ц. Ошибка возникает случайно, в большинстве случаев, если работает.   -  person Lakindu Gunasekara    schedule 05.01.2018
comment
какие-нибудь обновления по этому поводу? Здесь та же проблема, случайные тесты, случайные моменты.   -  person Yoeri    schedule 27.04.2018


Ответы (2)


У меня была такая же проблема, и оказалось, что обновление до jasmine-core 3.0.0 вызывает проблему, поэтому я понизил версию до 2.5.2, и все сработало нормально. Я думаю, это потому, что karma-jasmine еще не совместим с jasmine 3.0.0

Вот что у меня есть сейчас:

"jasmine": "2.5.2",
"jasmine-core": "2.5.2",
"karma-jasmine": "1.1.2",

Подробнее о проблеме см .:

https://github.com/jasmine/jasmine/issues/1523

person Nadhir Falta    schedule 11.05.2018
comment
Была эта проблема и с ядром жасмина v2.99.1. Это сработало. - person Dream_Cap; 25.07.2018

У меня тоже была такая же проблема, и метод afterAll () решил мою проблему. мое решение здесь

afterAll(() => {
 TestBed.resetTestingModule();
});
person Samet ÇELİKBIÇAK    schedule 11.12.2018