लक्ष्य:TestContext.TestName संपत्ति कभी नहीं बदलता
मैं इतना है कि मेरी [TestCleanup] समारोह हमारे bespoke को परिणाम लॉग इन कर सकते परीक्षण भागा जा रहा है के नाम निकालने के लिए TestContext.TestName संपत्ति का उपयोग करना चाहते परिणाम भंडार, स्वचालित रूप से जब प्रत्येक परीक्षण पूरा होता है।
समस्या:
यहां तक कि मेरी मूल 'मानसिक स्वास्थ्य की जांच' परीक्षण परियोजना है कि 5 परीक्षण है कि नीचे संरचना के समान हैं शामिल हैं: जो नीचे की तरह
[TestMethod]
public void TestMethodX()
{
Console.WriteLine(String.Format("In Test '{0}'",_ctx.TestName));
Assert.IsTrue(true);
}
एक क्लास 'प्रारंभकर्ता' के साथ
सेट मेरे लिए _ctx:
[ClassInitialize]
public static void ClassInit(TestContext Context)
{
_ctx = Context;
Console.WriteLine("In ClassInit()");
}
[[नोट: Console.WriteLines मुझे hove के लिए विशुद्ध रूप से देखते हैं माउस को ऊपर और मूल्य/गुणों का निरीक्षण करें, आदि]]
_ctx.TestName
परीक्षणों के चलाने में पहले परीक्षण के नाम से कभी भी परिवर्तन नहीं होता है, यानी यदि मैं सभी पांच परीक्षण ('TestMethod1' चलाने के लिए था, 'TestMethod2', 'TestMethod3', आदि) वे सभी मेरे परिणाम भंडार में 'testMethod1' को उनके testname के रूप में लॉग करते हैं। अलग-अलग परीक्षणों को चलाने से यह ठीक काम करता है, लेकिन यह मेरे लिए उपयोग नहीं है क्योंकि मुझे अपने आवेदन के खिलाफ 10/100/1000 के परीक्षण चलाने में सक्षम होना चाहिए और testContext टेस्टनाम या मुझे संभाल लें।
मैंने कई बार कोशिश की है और इंटरनेट लोड की खोज की है और इस समस्या के साथ कोई और नहीं है, इसलिए मैं या तो हूं: इस समस्या के साथ अद्वितीय, 'Google-Fu' कौशल खराब है, या कुछ कर रहा हूँ असली बेवकूफ उम्मीद है कि यह समझ में आता है और किसी के पास जवाब है।
अग्रिम धन्यवाद,
एंडी
कि के लिए धन्यवाद! पूरी तरह से काम किया !! :) – Robbo
आपका स्वागत है। – Schaliasos
मुझे इसी तरह की समस्या मिली, फिर मैंने पैरामीटर के रूप में संदर्भ लेने के लिए 'ClassInitialize'' को 'TestInitialize' में बदल दिया। यह संकलित करता है लेकिन परीक्षण बताता है कि 'testInitialize' विधि गलत हस्ताक्षर का उपयोग कर रही है (यह पैरामीटर स्वीकार नहीं कर सकता है)। पृथ्वी पर क्यों 'कक्षा प्रारंभ करें' एक संदर्भ लेगा यदि वह परीक्षण विधि के लिए बाध्य होना चाहिए, न कि पूरे वर्ग में? क्यों 'TestInitialize' एक संदर्भ स्वीकार नहीं करता है? यदि 'ClassInitialize' पैरामीटर के रूप में' TestContext' लेता है, तो हम कैसे अनुमान लगा सकते हैं कि हमें एक संपत्ति जोड़ने की आवश्यकता है? अविश्वसनीय रूप से गैर-सहज ज्ञान युक्त। – fernacolo