2012-04-30 29 views
25

Estoy aprendiendo nodejs y tengo una base de datos mongodb con la que tengo que interactuar. Actualmente estoy pensando en utilizar mocha para un marco de pruebas unitarias y zombie.js para un marco de prueba de aceptación. Me preguntaba cómo podría hacer pruebas de aceptación a gran escala que llegan a la base de datos de mongodb. ¿Existe un marco/módulo que ayude a reemplazar la base de datos con una base de datos de prueba? O bien, mocha o zombie.js tienen una funcionalidad que puede usarse fácilmente para reemplazar la base de datos.Mock/Test Mongodb Database Node.js

También hay un marco que es similar a la idea de las fábricas (en lugar de accesorios) en la creación de objetos de base de datos.

Un concepto similar que he encontrado en el mundo de los rieles es en rspec, hay un archivo spec_helper.rb que se ejecuta antes de que se ejecuten las pruebas que configuran los proyectos para decidir a qué base de datos acceder cuando se ejecutan las pruebas. Y usa database_cleaner para limpiar la base de datos de prueba antes de ejecutar las pruebas. Para las fábricas, he usado Factory girl para crear objetos de fábrica a partir del esquema de la base de datos en el mundo de los rieles.

Gracias

+0

He creado una biblioteca para permitir el comportamiento factory_girl/maquinista - ectypes (palabra extraña, pero tiene sentido cuando sabes lo que significa) Es un poco diferente al mundo de Ruby ya que no hay un ORM/ODM estándar en Node.js, por lo que debe definir una 'estrategia' para la capa de persistencia. No son difíciles de hacer. Tengo uno para Sequelizar en este momento. Consulte https://github.com/nicholasf/ectypes.js – nicholasf

Respuesta

3

Hay algunos

http://mongodb.github.com/node-mongodb-native/github/github.html#test-helpers-and-libraries

pero es posible que desee simplemente buscar en github o pregunte en el grupo de Google también.

+1

[La única página a la que se vincula] (https://github.com/tdegrunt/mongodb-fixtures) parece que no tiene forma de consultar el simular bases de datos, como [un problema de hace tres años] (https://github.com/tdegrunt/mongodb-fixtures/issues/3) señaló. ¿Estoy malentendido, o eso lo hace completamente inutilizable para casi todos los propósitos? – Josh1billion

Cuestiones relacionadas