Kein Grund, warum Sie nicht auf eine private Funktion außerhalb des Kontexts Ihrer Instanz zugreifen können.
Übrigens ist es keine gute Idee, Objekte auszuspionieren, die Sie testen möchten. Wenn Sie testen, ob eine bestimmte Methode in Ihrer Klasse, die Sie testen möchten, aufgerufen wird, sagt dies nichts aus. Nehmen wir an, Sie haben den Test geschrieben und er ist bestanden. Zwei Wochen später überarbeiten Sie einige Dinge in der Funktion und fügen einen Fehler hinzu. Ihr Test ist also immer noch grün, weil Sie die Funktion aufgerufen haben. B.
Spione sind nützlich, wenn Sie mit Dependency Injection arbeiten , bei dem alle externen Abhängigkeiten vom Konstruktor übergeben und nicht in Ihrer Klasse erstellt werden. Nehmen wir also an, Sie haben eine Klasse, die ein dom-Element benötigt. Normalerweise würden Sie einen jquery-Selektor in der Klasse verwenden, um dieses Element abzurufen. Aber wie wollen Sie testen, ob etwas mit diesem Element gemacht wird? Sicher können Sie es zu Ihren Testseiten HTML hinzufügen. Sie können Ihre Klasse aber auch aufrufen, indem Sie das Element im Konstruktor übergeben. Auf diese Weise können Sie mit spy überprüfen, ob Ihre Klasse wie erwartet mit diesem Element interagiert.