विजुअल स्टूडियो का उपयोग टेस्ट यूनिट कक्षा उत्पन्न करता है। फिर कक्षा प्रारंभिक विधि में टिप्पणी करें। TestContext तर्क का उपयोग करके, इसके अंदर अपनी संपत्ति जोड़ें।TestContext.Properties उपयोग योग्य हैं?
परीक्षण ऐप स्टार्टअप पर इस विधि को वास्तव में परीक्षण आधारभूत संरचना द्वारा बुलाया जाता है।
//Use ClassInitialize to run code before running the first test in the class
[ClassInitialize()]
public static void MyClassInitialize(TestContext testContext)
{
/*
* Any user defined testContext.Properties
* added here will be erased after this method exits
*/
testContext.Properties.Add("key", 1) ; // place the break point here
}
MyClassInitialize छोड़ने के बाद, उपयोगकर्ता द्वारा जोड़ा किसी भी गुण खो जाते हैं। केवल 10 "आधिकारिक" छोड़े गए हैं।
वास्तव में टेस्टकॉन्टेक्स्ट को प्रत्येक परीक्षण विधि कहने से पहले, प्रत्येक बार इनटिकल ऑफिकल के साथ अधिलेखित किया जाता है। यह केवल तभी ओवरराइट नहीं किया जाता है जब उपयोगकर्ता परीक्षण प्रारंभिक विधि है, वहां किए गए परिवर्तन परीक्षण में पास किए जाते हैं।
//Use TestInitialize to run code before running each test
[TestInitialize()]public void MyTestInitialize(){
this.TestContext.Properties.Add("this is preserved",1) ;
}
यह प्रभावी ढंग से किया जाता है "ज्यादातर" उपयोगकर्ताओं के लिए केवल पढ़ने के लिए, TestContext.Properties का मतलब है। जो एमएसडीएन में स्पष्ट रूप से दस्तावेज नहीं है।
ऐसा लगता है कि यह बहुत गन्दा डिजाइन + कार्यान्वयन है। एक संग्रह के रूप में TestContext.Properties क्यों है? उपयोगकर्ता कक्षा व्यापक प्रारंभ करने के लिए कई अन्य समाधान कर सकते हैं।
मैंने परीक्षण संदर्भ के उद्देश्य को कभी भी समझा नहीं है जिसे मैं वास्तव में उपयोग करता हूं। –
उद्देश्य https://blogs.msdn.microsoft.com/vstsqualitytools/2006/01/09/using-testcontext-in-unit-tests/ –