Ich versuche mein Gehirn um die Abhängigkeitsinjektion in AngularJS zu wickeln. Nehmen wir an, das ist mein sehr spannender Anwendungscode:
%Vor% Ich möchte PrideRockCtrl
testen. Wenn ich Beispiele in der Dokumentation und im Tutorial befolge, könnte ich den module('Characters')
verwenden, um den Injektor zu konfigurieren und inject()
verwenden, um einige Abhängigkeiten zu erhalten. d.h.:
Das funktioniert gut, aber das ist keine Test-Framework-Lösung. Die module()
und inject()
Testhelfer sind nur mit Jasmine kompatibel.
module()
oder inject()
? Ich kam auf folgendes:
%Vor%Das scheint sehr ausführlich zu sein. Gibt es einen besseren Weg?
jsFiddle: Ссылка
Die einfachste mögliche Version, ohne Module zu verwenden, würde so aussehen:
%Vor% Tatsächlich waren Sie ziemlich nah an Ihren Versuchen, das einzige, was fehlte, war eine lokale Abhängigkeit in einem Controller ( King:"Mufasa"
).
In den Tests wie denen, in denen wir uns nur auf eine einzige, ausgewählte Klasse konzentrieren, ist es nicht notwendig, den $ Injektor zu verwenden, da wir unsere Abhängigkeiten manuell simulieren können. Am Ende des Tages gibt $ Injector nur Instanzen von Objekten, so dass wir diese auch selbst erstellen können.
Tags und Links angularjs