Comment stub un Tapuscrit-Interface / Type de définition?

Je travaille avec des caractères d'imprimerie sur une AngularJS 1.X projet. J'utilise différentes bibliothèques Javascript à des fins différentes. À l'unité-test de ma source, je tiens à talon de certaines dépendances à l'aide de la Typings (= les interfaces). Je ne veux pas utiliser la TOUTE-type et ni d'écrire une méthode vide pour chaque méthode de l'interface.

Je cherche un moyen de faire quelque chose comme ça:

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

La douleur que j'ai actuellement, je utiliser any et de mettre en œuvre toutes les méthodes qui sont appelés dans mon cas de test ou j'ai implémenter l'interface et de mettre en œuvre l'interface complète. C'est trop inutile de code :(.

Comment puis-je créer un objet qui a un vide de mise en œuvre pour chaque méthode et est tapé? J'utilise Sinon de se moquer de fins, mais je suis ouvert à utiliser d'autres bibliothèques.

PS: je sais que la Machine efface les interfaces...mais je tiens encore à résoudre :).

OriginalL'auteur user1879408 | 2016-05-04