Eckige 4 - Failed: nicht lösen Können alle Parameter für ActivatedRoute: (?, ?, ?, ?, ?, ?, ?, ?)
Habe ich gemäß den folgenden link, um die Antworten, aber ich konnte keine funktionierende Lösung für mein Szenario.
Error: (SystemJS) nicht lösen Können alle Parameter für ActivatedRoute: (?, ?, ?, ?, ?, ?, ?, ?)
Also, ich habe versucht, das entfernen der Aktivierten Route von Anbietern und noch der Prüfstand ist nicht vorbei. Es zeigt
Fehler: Kein provider für ActivatedRoute!
So, hier ist mein code, ich möchte meine Testumgebung in das eckige-Anwendung, die mit Jasmin.
import { ActivatedRoute } from '@angular/router';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { RouterModule, Routes } from '@angular/router';
import { RouterTestingModule } from '@angular/router/testing';
describe('SomeComponent', () => {
let component: SomeComponent;
let fixture: ComponentFixture<SomeComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [ RouterModule, RouterTestingModule ],
declarations: [ SomeComponent ],
providers: [ ActivatedRoute ],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(SomeComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
Fehler immer
ActivatedRoute
ist einer der Anbieter, die bereits definiert durch dieRouterModule
Sie sollten keine es wieder. Beachten Sie auch, dass es eineRouterTestingModule
, die möglicherweise besser für Ihre Anforderungen geeignet ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du willst Spritzen, ein fake ActivatedRoute Ihrer Komponente, da Sie es schaffen, sich selbst im test, und der router damit nicht erstellen Sie es für Sie und injizieren einen ActivatedRoute. Nutzen Sie So etwas wie dieses:
Hier ist eine Lösung für die eckigen 7