मेरे पास एक स्थिर वर्ग है जिसका उपयोग मैं अपने परीक्षण डेटा को रखने के लिए कर रहा हूं। जब मैं अपने एनयूनीट परीक्षणों में इसका संदर्भ देता हूं, तो मेरे द्वारा किए गए कोई भी परिवर्तन परीक्षणों में बने रहते हैं।NUnit परीक्षणों में स्थिर डेटा रखने
उदाहरण के लिए, मैं अपने परीक्षण में इस कोड है:
public static class SampleData {
public static OrderDto OrderDto = new OrderDto { LastName = "Smith", CreatedById = 5, CreatedByDisplayName = "Smith2" };
}
पहली बार मैं इसे चलाने, orderDto 0 ORDERDETAILS है:
OrderDto orderDto = SampleData.OrderDto;
OrderDetailDto orderDetailDto = SampleData.OrderDetailDto;
orderDto.OrderDetails.Add(orderDetailDto);
और नमूना डेटा कुछ इस तरह है। दूसरी बार इसमें 1, फिर 2, आदि है। मैंने एनयूनीट परीक्षणों के बीच सोचा था, कुछ भी जारी नहीं था। क्या यह स्थिर गुणों को कैश करता है?
यह स्थैतिक वस्तु को अद्यतन कर रहा था क्योंकि एक उदाहरण था और यही आपके परीक्षणों ने किया था। यूनिट परीक्षण सामान्य कोड की तरह हैं; यदि वे एक स्थिर क्षेत्र को अद्यतन करते हैं तो फ़ील्ड अपडेट हो जाता है। अब जब भी इस विधि को बुलाया जाता है, तो आप एक नया उदाहरण लौट रहे हैं, जिसका अर्थ है कि परिवर्तन केवल वर्तमान उदाहरण को प्रभावित करते हैं। – TrueWill