Nodeunit: Runtime / geworfene Fehler in der Testfunktion sind _silent_

8

Einer der Punkte bei der Verwendung von NodeUnit besteht darin, neue Funktionen zu schreiben und sie oft zu testen. Problem ist, wenn eine der getesteten Funktionen einen Fehler (einschließlich JS Laufzeitfehler) auslöst, wird der Fehler dem Benutzer nicht angezeigt. Hier ist der einfachste mögliche Testfall: (Beachten Sie, dass a.b.c.d einen Laufzeitfehler verursacht)

%Vor%

Allerdings könnte testMe () eine neue Funktion sein, die ich entwickle. Eine nicht initialisierte Variable oder alles wird einfach still.

    
Merc 14.11.2013, 07:14
quelle

1 Antwort

13

Fügen Sie Ihre eigene nicht abgefangene Ausnahmebehandlung zu Ihrer Testdatei hinzu, entweder über das uncaughtException -Ereignis:

%Vor%

Oder indem Sie eine Domain erstellen und process hinzufügen (oder einen anderen Event-Emitter, den Ihre Tests verwenden), damit Sie die Fehler erkennen können, die bei der Verwendung von process.nextTick auftreten:

%Vor%

Wie auch immer, Sie erhalten dann eine Konsolenausgabe, die wie folgt aussieht:

%Vor%     
JohnnyHK 18.11.2013, 02:06
quelle