Frage

Ich habe eine Klasse, die JSNI verwendet JSON-Daten in der Host-Seite gespeichert sind, abzurufen:

protected native JsArray<JsonModel> getModels() /*-{
    return $wnd.jsonData;
}-*/;

Diese Methode wird aufgerufen, und die Daten werden dann in einem anderen Verfahren übersetzt und zu verarbeiten. Wie soll ich das Gerät zu testen diese Klasse, da ich nicht in der Lage zu instanziieren bin (oder scheinbar Mock?) JsArray?

Was ist der beste Weg, um Unit-Test JSNI Methoden überhaupt?

War es hilfreich?

Lösung

Der Schnittstelle Ansatz ist der beste Ansatz, und nicht unbedingt ein Übermaß. In Bezug auf das Problem der die Methode tatsächlich testen - gut, wenn $ wnd.jsonData gerade liest, ist es kein Verdienst in die Methode zu testen. Sie sind besser dran, eine serverseitige Test schriftlich bestätigt, die richtigen Daten in der Host-Seite haben.

Wenn Sie wirklich eine gewisse Logik in einer nativen Methode haben, sind Sie besser dran mit einem Selen / JSUnit Testfall zu schreiben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top