मैं एक कस्टम ConfigurationElementCollection
इकाई परीक्षण करने की कोशिश कर रहा हूं, लेकिन मुझे प्रोग्रामेटिक रूप से संग्रह को पॉप्युलेट करने में समस्या आ रही है।मैं प्रोग्राममैटिक रूप से कॉन्फ़िगरेशन एलिमेंट कोलेक्शन में तत्व कैसे जोड़ूं?
ConfigurationErrorsException: तत्व 'जोड़ें' एक उच्च स्तर विन्यास में बंद कर दिया गया है जब मैं
BaseAdd()
कहते हैं, मैं निम्नलिखित अपवाद मिलता है।
हालांकि, यह समस्या केवल कई परीक्षणों को चलाने पर दिखाई देती है। इन दो परीक्षणों पर विचार करें:
private Fixture Fixtures = new Fixture(); // AutoFixtures
[Test]
public void test1()
{
var tc = Fixtures.CreateAnonymous<TenantCollection>();
var t = Fixtures.CreateAnonymous<Tenant>();
tc.Add(t);
}
[Test]
public void test2()
{
var tc = Fixtures.CreateAnonymous<TenantCollection>();
var t = Fixtures.CreateAnonymous<Tenant>();
tc.Add(t);
}
प्रत्येक व्यक्तिगत परीक्षण अकेले निष्पादित होने पर गुजरता है। एक साथ चलते समय, लॉकिंग अपवाद फेंक दिया जाता है।
यहां क्या हो रहा है? मैं या तो लॉक के आस-पास संग्रह या काम को अनलॉक कैसे कर सकता हूं?
आप अपने TenantCollection कार्यान्वयन से IsReadOnly विधि को ओवरराइड कर सकते हैं और झूठी वापसी कर सकते हैं –