Wenn Jasmin in Echt Browser ausgeführt Ich bemerkte, dass TestBed
Befestigungskomponente in DOM nicht zerstört wird und bleibt nach Tests beendet haben:Angular 4 Befestigungskomponente weiterhin besteht in DOM während Jasmin testet
Hier ist ein getestet Komponente:
@Component({
selector: 'test-app',
template: `<div>Test</div>`,
})
class Test {}
Und ein Test (plunk).
let component;
let fixture;
let element;
beforeAll(() => {
TestBed.resetTestEnvironment();
TestBed.initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
});
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [Test],
})
.compileComponents();
fixture = TestBed.createComponent(Test);
component = fixture.componentInstance;
element = fixture.debugElement.query(By.css('div')).nativeElement;
fixture.detectChanges();
});
afterEach(() => {
fixture.destroy();
});
it('should compile Test',() => {
expect(element).toBeTruthy();
});
Warum Test
Komponenteninstanz nicht von DOM entfernt und wie dieser Fehler behoben werden sollte?
Warum werden Fixture-Komponenten zu DOM hinzugefügt? Können sie von DOM wie $rootElement
in AngularJS gelöst werden?
Danke, antwortet eine der Fragen, * wie dieser Fehler behoben werden soll * Der Rest der Fragen sind noch relevant – estus