74 votes

Jasmine vs. Mocha test Javascript pour Rails 3.1+

J'ai de l'expérience avec Jasmine et j'aime bien ça un peu. Quelqu'un at-il une expérience à la fois de Jasmine et de Moka, spécialement pour Rails? Je me demande si cela vaut la peine de passer à.

Merci d'avance,

Chris

119voto

Peter Lyons Points 47794

J'ai fait des tests dans les deux Jasmin et de Moka. Tout d'abord, la commutation est relativement facile. La base describe et it BDD motif est identique. Vous aurez besoin de changer la façon dont vous faites vos affirmations et de passer à un autre de l'interface asynchrone tests. Dans l'ensemble, ils sont comparables.

Moka asynchrone de l'interface est beaucoup plus simple et plus cohérente. Les Tests et l'installation peut être synchrone ou asynchrone, ce qui est excellent. Ceci, plus le fait que les TJ Holowaychuck est une épopée code poète les raisons sont bonnes pour essayer de Moka.

Je pense que le Jasmin de rapprochement sont plus faciles à lire et plus élégant, en particulier quand il est associé avec le jasmin-plugin jquery. Moka est habituellement de pair avec une bibliothèque séparée pour les assertions, souvent chai.js si vous faites dans-test du navigateur ou should.js pour le nœud-test seulement. Je suis heureux avec chai de l' assert.equal() interface, mais le Jasmin style expect($("#central_errors").html()).toContain("must provide a name"); semble plus élégant de moi. Je ne suis pas un fan de la chai.js expect(42).to.be.above(41) style de l'interface avec dot délimité par des phrases, car il ne fonctionne pas bien sur le plan phonétique.

En fin de compte, c'est une question de préférence personnelle de la question et je vous encourage fortement à tout simplement passer une journée ou deux pour l'écriture de Moka tests, plutôt que de Jasmin et de voir comment il se sent. Totalement un investissement rentable, même si vous décidez de rester avec Jasmine vous l'intention de le faire à partir d'un lieu de connaissances de première main et avoir une connaissance de d'autres façons de résoudre certains des problèmes de Jasmin en résout. Je l'ai essayé et je suis coller avec Moka, en partie parce que les paris sur les TJ est un bon pari, mais le Jasmin est aussi un âge mûr, solide, et largement adopté par la bibliothèque.

4voto

jejacks0n Points 318

Découvrez le Sachet de projet sur github. Concrètement, il vous permet d'utiliser l'asset pipeline avec de Moka, de Jasmin, ou QUnit.

https://github.com/modeset/teaspoon

Moka est une assez grande bibliothèque, mais je l'utilise généralement de Jasmin, pour moi c'est principalement sur la connaissance et l'expérience avec le Jasmin, mais Moka a quelques fonctionnalités vraiment cool -- comme vous permettant de savoir quand vous avez des saignements de choses dans la portée globale.

Pensé qu'il était utile de mentionner le projet parce que concrètement, il vous permet de jouer avec les deux (dans les différentes suites), de sorte que vous pouvez décider pour vous-même.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X