web-dev-qa-db-fra.com

Mock/Test Mongodb Database Node.js

J'apprends le nodejs et j'ai une base de données mongodb avec laquelle je dois interagir. Je pense actuellement à utiliser mocha pour un framework de test unitaire et zombie.js pour un framework de test d'acceptation. Je me demandais comment puis-je faire des tests d'acceptation à grande échelle qui ont touché la base de données mongodb. Existe-t-il un framework/module qui aide à remplacer la base de données par une base de test ou est-ce que mocha ou zombie.js ont des fonctionnalités qui peuvent facilement être utilisées pour remplacer la base de données?.

De plus, existe-t-il un cadre similaire à l'idée d'usines (au lieu de fixtures) lors de la création d'objets de base de données.

Un concept similaire que j'ai rencontré dans le monde Rails est dans rspec. Il existe un fichier spec_helper.rb qui s'exécute avant que les tests ne soient exécutés, qui définit la configuration du projet pour décider de la base de données à utiliser lors de l'exécution des tests. Et il utilise database_cleaner pour nettoyer la base de données de test avant l'exécution des tests. Pour les usines, j'ai utilisé Factory girl pour créer à nouveau des objets usine à partir du schéma de base de données dans le monde Rails.

Merci

25
GTDev

Il y a quelques

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

mais vous voudrez peut-être simplement effectuer une recherche sur github ou demander également dans le groupe google.

3
christkv

Si votre accès à la base de données est un module distinct, vous pouvez simuler le module ou des parties du module (par exemple, la partie configuration) à l'aide de l'un des éléments suivants:

Les réponses à la question connexe suivante répertorient un certain nombre de solutions/approches possibles: Comment se moquer de MySQL (sans ORM) dans Node.js?

2
dule

Afin de créer un véritable mongodb en mémoire pour le test, https://github.com/nodkz/mongodb-memory-server aide également.

0
udo