14 votes

Est-ce que le code meteor est effectivement testable unitairement ?

Je suis actuellement en train d'étudier le framework meteor et cette question me vient immédiatement à l'esprit. Est-ce que le code que j'écris (par exemple le code Template.xxx ou Template.xxx.events) est en fait testable de quelque manière que ce soit?

Bien sûr, vous pouvez tester le code qui n'est pas lié à l'exécution de meteor comme vous le feriez pour tout autre code, mais j'ai l'impression que la plupart du code que vous écrirez à l'intérieur de meteor est d'une certaine manière lié à meteor et à ses fonctions.

6voto

dmayo3 Points 75

Il ne semble pas y avoir de framework de test officiel pour l'instant en dehors du Tinytest non documenté (voir le tutoriel vidéo) et de ses helpers, mais vous pouvez toujours simuler/mock le framework API de Meteor comme je l'ai fait dans cet exemple trivial sur github.

Je pense que cela pourrait devenir beaucoup plus difficile pour les applications non triviales, il est donc probablement une bonne idée de séparer la logique principale de l'application des appels à l'API de Meteor.

5voto

Dan Dascalescu Points 8165

En février 2014, le code Meteor est testable unitairement en utilisant le framework intégré Tinytest, à condition de déplacer tout votre code d'application dans des packages, ce que vous devriez de toute façon faire. La méthode rapide et sale consiste à ajouter un fichier package.js. Ce fichier sert à :

  1. Déclarer vos exports. Il est recommandé, pour une bonne structuration des noms, d'avoir un objet global pour votre application
  2. Déclarer vos fichiers de test

Voici un exemple par Eventedmind - https://github.com/EventedMind/meteor-file

Vous pouvez voir dans meteor-file-test.js qu'il accède à MeteorFile, qui est déclaré comme export dans package.js.

1voto

Jabbslad Points 536

Je pense que c'est testable même si je n'ai pas regardé trop en profondeur.

Si vous ouvrez le paquet liveui ($METEOR_HOME/packages/liveui), il semble y avoir plusieurs tests unitaires écrits en utilisant TinyTest et testant le rendu. Je pense que ce serait un bon point de départ :

  • liveui_tests.js
  • liveui_tests.html

etc.

J'espère que cela vous aidera

1voto

Sam Hatoum Points 506

J'ai créé un article de blog ici montrant comment faire des tests unitaires efficaces dans Meteor, ainsi qu'un projet exemple sur GitHub. J'espère que cela aide.

http://blog.xolv.io/2013/04/unit-testing-with-meteor.html

1voto

pinouchon Points 7706

La vélocité a été sélectionnée comme le framework de test officiel pour Meteor 1.0. L'annonce a été faite lors du dernier meteor devshop (juin 2014).

Plugins développés avec Velocity:

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