visual unitarias unit tipos test studio pruebas plan metodologia interfaz crear unit-testing ravendb

unit testing - tipos - Pruebas unitarias de RavenDB



tipos de pruebas unitarias (4)

Este es el enfoque recomendado para las pruebas unitarias con ravendb. El no recomendado para la producción se ejecuta básicamente en el modo de memoria. Si encuentra que esto es lento, intente perfilar y descubrir qué es exactamente lo que está ralentizando las cosas.

En mis pruebas de unidad, estoy configurando cada prueba para tener una IDocumentSession totalmente vacía. Lo hago así:

[SetUp] public void SetUp() { _store = new EmbeddableDocumentStore { RunInMemory = true }; _store.Initialize(); Session = _store.OpenSession(); }

Pero creo que esta podría ser la razón por la que mis pruebas son un poco lentas. Me preguntaba si hay un comando simple para eliminar todos los documentos de la base de datos.

Lo que quiero es saber si puedo hacer esto y si mejoraría el rendimiento.


Intente usar RunInUnreliableYetFastModeThatIsNotSuitableForProduction = true .

var _store = new EmbeddableDocumentStore() { Configuration = { RunInUnreliableYetFastModeThatIsNotSuitableForProduction = true, RunInMemory = true, } };


La llamada costosa allí es _store.Initialize() : está forzando a RavenDb a hacer una nueva base de datos en cada prueba. En la mayoría de los casos, funcionará una única base de datos por cada conjunto de pruebas.

Otra opción sería usar la naturaleza o los ID de RavenDb para el espacio de nombres en sus pruebas. Esto es bastante útil si el problema real es la duplicación de errores de clave y, por lo demás, las cosas de ingeniería para que no tenga una limpieza desagradable.