Je suis en train de terminer le banc d'essai pour mon application angulaire. Mais il y a un problème dans les tests de karma-jasmin, qui jette une erreur
[objet ErrorEvent] levé
J'ai mis à jour les node_modules en tant que solution trouvée dans le lien suivant Comment déboguer une erreur "[object ErrorEvent] levée" dans mes tests Karma/Jasmine?
Mais maintenant, l'erreur se déclenche à des moments aléatoires, parfois le banc d'essai est terminé sans erreur, parfois au-dessus des déclencheurs d'erreur. Des suggestions pour l'éviter en permanence?
PS - Faites-moi savoir dans les commentaires si vous avez besoin de plus de ressources. Merci!
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();
});
});
J'avais le même problème et il s'est avéré que la mise à niveau vers jasmine-core 3.0.0 était la cause du problème, alors je suis passé à la version 2.5.2 et tout a bien fonctionné ... Je pense que c'est parce que karma-jasmine
n'est pas encore compatible avec jasmine 3.0.0
C'est ce que j'ai maintenant:
"jasmine": "2.5.2",
"jasmine-core": "2.5.2",
"karma-jasmine": "1.1.2",
Pour plus de détails sur le problème, voir:
J'ai eu le même problème aussi et la méthode afterAll () a résolu mon problème. ma solution est ici
afterAll(() => {
TestBed.resetTestingModule();
});