Comment utiliser Sinon avec Typescript?
Si j'utilise sinon avec tapuscrit alors comment puis-je lance l'sinon maquette à une instance de mon objet?
Par exemple un SinonMock serait retourné, mais mon contrôleur en vertu de test peut exiger un service spécifique transmis à son constructeur.
var myServiceMock: MyStuff.MyService = <MyStuff.MyService (sinon.mock(MyStuff.MyService));
controllerUnderTest = new MyStuff.MyController(myServiceMock, $log);
Peut sinon être utilisé avec la Machine?
source d'informationauteur Brandon | 2015-01-26
Vous devez vous connecter pour publier un commentaire.
Vous pouvez avoir besoin d'utiliser un
<any>
type d'assertion de faire le type de large avant de vous limiter à votre type spécifique:Juste pour clarifier un comportement de sinon - même si vous passez dans
MyStuff.MyService
quelle que soit vous passez à lamock
méthode est utilisée uniquement pour fournir de meilleurs messages d'erreur.Si vous le souhaitez la maquette d'avoir des méthodes et des propriétés, vous avez besoin de les ajouter.
Si vous voulez automatiquement créé de faux, vous pouvez saisir le
FakeFactory
de tsUnitce qui crée une fausse version avec certaines valeurs par défaut que vous pouvez choisir de remplacer JavaScript c'est assez facile de trucs (en plus en n'utilisant pas trop de fantaisie fonctionnalité, vous pouvez vous assurer que vous êtes les tests de comportement plutôt que la mise en œuvre).Exemple de l'utilisation de
FakeFactory
:Sinon pouvez créer un talon basé sur un constructeur assez facilement si, au lieu de
mock
vous utilisez lecreateStubInstance
méthode.Un exemple d'utilisation de mokachaisinon et sinon-chaipourrait ressembler à ceci:
J'ai a publié un articlequi pourrait vous être utile si vous souhaitez en savoir plus sur les différents test doubles et comment les utiliser avec Sinon.js.
Espérons que cette aide!
Jan