Mocking router.events.subscribe () Angular2

8

In meiner app.component.ts habe ich die folgende ngOnInit-Funktion:

%Vor%

Momentan teste ich, ob das Sub nicht null ist, aber ich möchte die Funktion mit einer 100% Deckung testen.

Ich möchte das Router-Objekt vortäuschen, damit ich die URL simulieren kann und dann testen, ob this.loggedIn korrekt eingestellt ist.

Wie würde ich fortfahren, diese Funktion zu verspotten? Ich habe es versucht, aber ich weiß nicht, wie ich das mit dem Callback und dem NavigationEnd angehen würde.

    
stijn.aerts 20.07.2016, 07:47
quelle

3 Antworten

17

Ich habe die Antwort gefunden, wenn jemand danach sucht:

%Vor%     
stijn.aerts 19.08.2016, 07:20
quelle
7

Ich habe eine Version des Router-Stubs aus Angular-Dokumenten erstellt, die diese Methode verwendet, um das NavigationEnd-Ereignis zum Testen zu implementieren:

%Vor%
    
ForrestLyman 07.04.2017 17:55
quelle
0

Die angenommene Antwort ist korrekt, aber das ist etwas einfacher, Sie können

ersetzen %Vor%

von:

%Vor%

Und unten finden Sie eine vollständige Testdatei, um die Funktion in der Frage zu testen:

%Vor%     
Tonio 08.02.2018 17:18
quelle