2011-12-03 39 views
6

Bir aramanın sonuçlarını IDocumentSession.Query() nize iletmek için uygun bir yol var mı?Birim testi RavenDb sorguları

Nesneler üzerinde yöntemlerin çağrıldığını doğrulamak istediğim bir komut var (bu, sınanmakta olan "birim" komutunun komutları DEĞİL komutudur). Sahte nesneler (RhinoMocks aracılığıyla) gömülü bir db örneğine kaydedemiyorum, şu anda doğru yöntemlerin çağrıldığını doğrulamak yerine, çağrılan nesnelerin durumunu doğrulamak zorunda kalıyorum.

sayesinde Matt

cevap

6

Sen birim test için EmbeddableDocumentStore { RunInMemory = true} kullanırken daha iyi. Bu, IDocumentSession, alay etmek kolay çok kolay olmalıdır dedi.

+0

Teşekkürler Ayende, problem bir EmbeddedDocumentStore kullanıyor demek, gerçek nesneleri sahte kullanmamam anlamına gelir. IDocumentSession gerçekten alay etmek çok kolay, IRavenQueryable çok değil. – mattcole

+0

@mattcole 'EmbeddableDocumentStore {RunInMemory = true} 'kullanırken ne sorun var? Neden 'IDocumentSession' ile dalga geçmek istiyorsun? Evet .. 'EmbeddableDocumentStore' işlevi, alaylı olandan biraz daha yavaştır .. ama eminim ki, * EmbeddableDocumentStore'un oluşturulduğu ana nedenlerden biri, birim testi içindi. –

+1

Şu anda kafamda 2 şeyle savaşıyorum: 1. Bana alay etmeyin demeyin - yapamayacağım kötü bir koku. EmbeddableDocumentStore kullanırken, testler gerçekten yavaş çalışıyor - bu yüzden alay etmek istiyorum! – Ronnie