Wie stub-Typoskript-Schnittstelle / Type-definition?

Arbeite ich mit Typoskript auf einer AngularJS 1.X-Projekt. Ich verwende verschiedene Javascript-Bibliotheken für verschiedene Zwecke. Zu unit-test meine Quelle würde ich gerne stub einige Abhängigkeiten mit der Testungen (= Schnittstellen). Ich möchte nicht das JEDER Typ und weder zu schreiben, eine leere Methode für jede interface-Methode.

Im-suchen nach einer Möglichkeit, etwas zu tun:

let dependency = stub(IDependency);
stub(dependency.b(), () => {console.log("Hello World")});
dependency.a(); //--> Compile, do nothing, no exception
dependency.b(); //--> Compile, print "Hello World", no exception

Die Schmerzen, die ich jetzt haben, ist, dass ich entweder any und implementieren Sie alle Methoden, die aufgerufen werden, in meinem test-Fall oder habe ich das interface implementieren und umsetzen der gesamten Oberfläche. Das ist zu viel unnützen code :(.

Wie kann ich ein Objekt generiert, hat eine leere Implementierung für jede Methode ist typisiert? Ich benutze Sinon für Spott Zwecke, aber ich bin offen für andere Bibliotheken zu.

PS: ich weiß, dass Typoskript löscht die Schnittstellen...aber ich würde gerne lösen :).

InformationsquelleAutor user1879408 | 2016-05-04

Schreibe einen Kommentar