2012-03-20 2 views
2

J'ai des tests d'intégration en utilisant RavenDB avec RunInMemory = true. L'un des problèmes que je débogue est lié à la sérialisation JSON. Quel est le moyen le plus simple de voir les données JSON sérialisées (en tant que chaînes) pour la mémoire DocumentStore?Voir JSON brut dans RavenDB avec RunInMemory

Répondre

5

Vous pouvez le faire comme ceci:

static public void WaitForUserToContinueTheTest(
    EmbeddableDocumentStore documentStore) 
{ 
    if (Debugger.IsAttached == false) 
     return; 

    documentStore.DatabaseCommands.Put("Pls Delete Me", null, 
     RavenJObject.FromObject(new { 
      StackTrace = new StackTrace(true) 
     }), new RavenJObject()); 

    documentStore.Configuration.AnonymousUserAccessMode = 
     AnonymousUserAccessMode.All; 

    using (var server = new HttpServer(documentStore.Configuration, 
     documentStore.DocumentDatabase)) 
    { 
     server.StartListening(); 

     // start the server 
     Process.Start(documentStore.Configuration.ServerUrl); 

     do 
     { 
      Thread.Sleep(100); 
     } while (
      documentStore.DatabaseCommands.Get("Pls Delete Me") != null && 
       Debugger.IsAttached); 
    } 
} 

Cette volonté ouvre le serveur pour vous, et vous permettra de voir tout ce qui se passe à l'intérieur RavenDB.

+1

Merci. Je me demande s'il est plus simple d'attacher quelque chose pour consigner toutes les entités dans Debug. Mais pour l'instant cela va résoudre mes problèmes. –