Ich versuche Headless-Tests meiner Knockout Viewmodels zu machen. Ich vermeide absichtlich, mit irgendwelchen ui Konstrukten in meinem viewmodel umzugehen und die Verdrahtung zur html Seite zu verlassen.Headless knockout viewmodel testing mit mokka
Dies funktioniert gut in Jasmin, da es im Browser läuft, aber wenn ich zu mocha wechseln, ich am Ende läuft Kopf voran in die letzte Zeile auf Knockout, das ist:
}) (Fenster, Dokument, Navigator);
Ich habe bei Verwendung zombiejs sieht, die eine gute Alternative sein würden, aber ich selbst nicht eine gute Geschichte, wie man es verwenden, ohne Änderung der Knockout-Quelle sehen.
Irgendwelche Gedanken darüber, wie man das angeht?
Welche Funktionen von Knockout brauchen Sie in Ihrer Ansicht Modelle?Wenn es nur die Observablen sind, dann verspotten Sie sie und ignorieren Sie den Rest des Knockouts beim Testen des VM-Teils. – Niko
Das Problem ist, dass sogar mit der Debug-Version die Initialisierung der knockout.js-Skript (v2.1.0) Fehler bei einem Aufruf von navigator.userAgent. Daher kann ich nicht zu dem Punkt kommen, die Viewmodel- und Observable/Computed/Pubsub-Teile zu testen. –
Ich denke Zombie wird dein bestes sein, da es das Dom simuliert. Knockout wurde als DOM-Modellbinder und nicht als generischer Modellbinder geschrieben. Vielleicht ist das Backbone eher auf Ihren Entwicklungsstil ausgerichtet. Glue.js ist auch eine schöne Event-Mappe. –