Ich habe eine Jasmine-Spezifikation entwickelt, um eine eckige 2-Komponenten MiddleRowComponent
zu testen. Wenn ich den Jasmin-Test ausführe, gibt es diesen Fehler:
Wenn ich jedoch meine Webanwendung wie üblich im Browser starte, tritt der Fehler nicht auf. circles
ist tatsächlich ein Teil des Moduls. Und custom-button
ist Teil eines gemeinsam genutzten Moduls, das importiert wird. Hier ist das Modul.ts:
Alles wird importiert und deklariert, wie es sein sollte, und funktioniert, wenn die App ausgeführt wird, ohne sie zu testen. Ich verwende ein done
, um das beforeEach zu arbeiten, da es asynchron ist, die Komponentenvorlage aus einer separaten Vorlagendatei zu erhalten. Ich ruu den Test mit einem Jasmine Spec Runner HTML-Datei. Wie kommt es, dass meine Komponenten, die MiddleRowComponent
verwendet, keine bekannten Elemente im Jasmin-Test sind, aber wenn die App normal läuft?
Hier ist die Jasmin-Spezifikation:
%Vor%voller Fehler:
%Vor%Ich hatte ein ähnliches Problem und fand diese Seite, und während JB Nizets Antwort zu einer Lösung für mich führte, funktionierte es für mich nicht wie es ist. Ich versuche nicht von seiner soliden Antwort auf die ursprüngliche Frage wegzukommen, ich versuche nur der nächsten Person zu helfen, die mitkommt.
Mein Problem war genau wie bei den OPs, nur dass meine benutzerdefinierte Komponente ( MiddleRowComponent
in diesem Beispiel) eine Drittanbieterkomponente verwendet hat. Der Komponententestfehler wurde für das Drittanbieter-Tag in meiner Vorlage angegeben, obwohl es in der tatsächlichen App problemlos funktioniert. Die Lösung für mich bestand darin, auch ein imports
für den Drittanbieter in mein Testmodul aufzunehmen:
Dann liefen meine Komponententests ohne den Fehler. Hoffe das hilft!