Ich habe den folgenden Code ...Wie mache ich eine Angular 2 Route?
export class LoginComponent {
userName: string;
password: string;
rememberMe: boolean = false;
constructor(private auth: AuthenticationService,
private router: Router) {
...
}
...
}
ich Unit-Test versuchen aber mein erster Versuch gescheitert ....
beforeEach(() => {
router = new Router();
component = new LoginComponent(authService, router);
});
Weil es die params für das Router-Konstruktor muss. Here I saw ...
beforeEach(() => addProviders([
APP_ROUTER_PROVIDERS, // must be first
{provide: APP_BASE_HREF, useValue: '/'}, // must be second
{provide: ActivatedRoute, useClass: Mock},
{provide: Router, useClass: Mock}
]));
Aber ich scheine nicht APP_ROUTER_PROVIDERS
oder Mock
überall in meinen Abhängigkeiten zu haben, so denke ich, es abgestanden sein könnte (oder ich brauche Abhängigkeiten).
Wie mache ich das aus? Es ist nicht einmal wichtig für den Test, an dem ich arbeite.
Wie unterscheidet sich dies von der Art, wie das eigentliche Projekt es tut (ich postete, bevor ich schaute). Anscheinend brauchen wir nur ... 'TestBed.configureTestingModule ({imports: [RouterTestingModule]});' und 'router = TestBed.get (Router);'? Ich habe es noch nicht getestet, also bin ich mir nicht sicher, ob es funktioniert. – Jackie
@Jackie Was meinst du * "das eigentliche Projekt" *? – jonrsharpe
https://github.com/angular/angular/blob/master/modules/%40angular/router/test/router.specs.ts – Jackie