2012-08-30 15 views
14

Actualmente estoy investigando el meteorito y esta pregunta salta inmediatamente a la mente. ¿Es el código que escribo (por ejemplo, el código Template.xxx o Template.xxx.events) realmente comprobable de alguna manera?¿El código de mete efectivamente se puede probar por unidad?

Por supuesto, puedes probar código que no está vinculado al tiempo de ejecución del meteorito como lo harías con cualquier otro código, pero mi impresión es que la mayoría del código que escribirás dentro del meteoro tiene de algún modo meteorito y sus funciones.

+0

Aquí hay otro ejemplo de pruebas unitarias w ITH Meteor http://stackoverflow.com/questions/12987525/meteor-test-driven-development/15471731#15471731 –

Respuesta

5

A partir de febrero de 2014, código de meteoros es comprobable unidad utilizando la incorporada en el marco Tinytest, siempre y cuando se mueve todo el código de aplicación en paquetes, which you should do anyway. La forma rápida y sucia equivale a agregar un archivo package.js. Ese archivo sirve para:

  1. Declare sus exportaciones. Es una buena práctica para clean namespacing tener one global object for your app
  2. Declarar los archivos de prueba

Aquí se muestra un ejemplo de Eventedmind - https://github.com/EventedMind/meteor-file

Se puede ver en meteor-file-test.js que accede MeteorFile, que se declara como una exportación en package.js.

+1

Gracias por su respuesta. He actualizado la respuesta aceptada para reflejar el estado actual. – xen

1

Creo que es comprobable aunque no lo he investigado demasiado.

Si abre el paquete liveui ($METEOR_HOME/packages/liveui) parece que hay bastantes pruebas unitarias escritas usando TinyTest y probando la representación. Creo que sería un buen lugar para empezar: -

  • liveui_tests.js
  • liveui_tests.html

etc.

Espero que ayude

+0

Véase mi respuesta para alguna visión más clara, aquí: http://stackoverflow.com/questions/12987525/meteor-test-driven-development/14049725 # 14049725. tl; dr Esto es algo que el equipo de meteoritos ya sabe que es un problema. Estoy ayudando a sacar el tema al frente, y los ayudo a implementar algunas formas definitivas de abordar el TDD con meteoro. :) – zealoushacker

6

No hace parece ser cualquier marco de prueba oficial, sin embargo, aparte de undocumented Tinytest (ver video tutorial) y su helpers, pero siempre puede tropezar/burlarse de ou la API de Meteor framework como lo hice en este ejemplo trivial en github.

Imagino que podría ser mucho más difícil para aplicaciones no triviales, por lo que probablemente sea una buena idea separar la lógica de la aplicación central de las llamadas a la API Meteor.

+0

Gracias por esa muestra :) parece que eso es lo que estoy buscando. Pero todavía me preocupa un poco que no hay una forma 'fácil' de hacer esto. Especialmente porque no siempre se puede separar la lógica. – xen

Cuestiones relacionadas