2016-08-23 3 views
0

Auf Grundlage der Diskussion zum Umgang mit Parallelität und Atomtests (https://github.com/avajs/ava/issues/472)Wie Paralleltests mit AVA und Mongoose

Ich möchte der beste Ansatz laufen meine Server-Endpunkte parallel zu testen.

Ich bin mit einem koajs Server und eine Datenbank MongoDB (Mungo)

Ich versuche Mockgoose zu verwenden (https://github.com/mccormicka/Mockgoose) einen temporären In-Memory-mongod zu erstellen, die die Daten nicht fortbestehen

Ich möchte wissen, ob das Erstellen einer separaten Datenbank für jeden Test ein guter Ansatz ist?

Gibt es ein Beispiel dafür?

+0

Erhalten Sie keine Parallelität von Ava beim Schreiben von Tests in separaten Dateien? – 4m1r

+0

Wir brauchen eine andere Datenbank und einen anderen Server für jeden Test, um ohne Nebenwirkungen in anderen Tests zu arbeiten. –

+0

Ya, ich sehe kein Problem bei der Verwendung einer separaten Mockgoose-Instanz im before-Handler jeder Testdatei. Es sieht so aus, als ob Mockgoose automatisch eine Datenbank erstellt, wenn eine Verbindung hergestellt wird? – 4m1r

Antwort

1

Tricky. Ich machte ein Modul, um das zu handhaben - https://github.com/cyberwombat/mongoprime

Es funktioniert, indem man im Speicher Mongo verwendet und einen Proxy erstellt. In Ihren Tests erstellen Sie einen zufälligen Datenbanknamen und das Modul kümmert sich um das Erstellen und Laden/Löschen dieser On-Demand-Datenbanken für Sie.