मैं इकाई परीक्षण के लिए इन-मेमोरी मोड में RavenDB का उपयोग कर रहा हूं। मेरे प्रश्न स्थिर सूचकांक द्वारा समर्थित हैं। मैं WaitForNonStaleResults()
एपीआई का उपयोग नहीं कर रहा हूं (न ही मैं चाहता हूं)।परीक्षण के दौरान स्टेल इंडेक्स को कैसे संभाला जाना चाहिए?
एक परीक्षण के लिए विशिष्ट कार्यप्रवाह है:
- आरंभ में मेमोरी मोड
- एकीकृत (क्वेरी व्यवहार की पुष्टि करने के लिए)
IndexCreation.CreateIndexes(Assembly, IDocumentStore)
- परीक्षण सम्मिलित डेटा का उपयोग कर सूचकांकों में RavenDB
- भागो क्वेरी
- क्वेरी आउटपुट सत्यापित करें
मैंने देखा है कि चरण 1-3 इतनी जल्दी हो रहा है कि स्थिर सूचकांक में चरण 4 से पहले अपडेट होने का समय नहीं है - इसलिए इंडेक्स बेकार हैं।
मैंने इसके लिए एक त्वरित कार्य-निर्माण किया है। चरण 3 के बाद, मैं निष्पादित करें:
while (documentStore.DocumentDatabase.Statistics.StaleIndexes.Length != 0)
Thread.Sleep(10);
यह बोझिल महसूस करता है। मैं क्या जानना चाहता हूं:
- क्या इन-मेमोरी मोड में RavenDB चलाते समय इंडेक्स को बाँधना सामान्य है?
- परीक्षण के दौरान बासी इंडेक्स से बचने का कोई बेहतर तरीका है?
@MattWarren धन्यवाद, मैट। जानना उपयोगी है। –
श्रोता दृष्टिकोण वर्तमान RavenDB बिल्ड के साथ मान्य नहीं है। – nathanchere
@ फेरेटेलिक एए मैं इसे नवीनतम निर्माण के साथ फिर से देखूंगा। –