JUnit Testing Cassandra avec serveur embarqué

Quelle est la meilleure approche pour écrire des tests unitaires pour le code qui persiste données nosql banque de données, dans notre cas, cassandra?

=> Nous sommes l'aide d'embedded server approche à l'aide d'un utilitaire à partir de git hub (https://github.com/hector-client/hector/blob/master/test/src/main/java/me/prettyprint/hector/testutils/EmbeddedServerHelper.java). Toutefois, j'ai été voir quelques problèmes avec cela. 1) Il persiste des données à travers de multiples cas de test en le rendant dur pour nous assurer que les données sont différentes en cas de test d'une classe de test. J'ai essayé d'appeler le nettoyage @Après chaque cas de test, mais qui ne semble pas de nettoyage des données. 2) Nous sommes à court de mémoire que nous ajoutons plus de tests et ce pourrait être parce que de 1, mais je ne suis pas encore sûr. J'ai actuellement 1G taille de segment de mémoire pour exécuter mon construire.

=> L'autre approche, j'ai été pensée est pour se moquer de la cassandra de stockage. Mais qui pourrait fuir certains problèmes dans le cassandra schéma comme nous l'avons souvent constaté l'approche ci-dessus attraper des problèmes avec la façon dont les données sont stockées dans cassandra.

S'il vous plaît laissez-moi savoir que vous pensées sur cette question et si quelqu'un a utilisé EmbeddedServerHelper et sont familiers avec les questions que j'ai mentionnées.


Juste une mise à jour. J'ai été en mesure de résoudre 2) en cours d'exécution de java heap space problème lors de l'exécution, construit par la modification de la in_memory_compaction_limit_in_mb paramètre à 32 dans le cassandra.yaml utilisé par le test serveur intégré. Le lien ci-dessous m'a aidé à http://www.datastax.com/docs/0.7/configuration/storage_configuration#in-memory-compaction-limit-in-mb. Il a 64 ans et a commencé à échouer de façon constante au cours de compactage.

source d'informationauteur bobbypavan