मैं माइक्रोसॉफ्ट वेबटेस्ट का उपयोग कर रहा हूं और एनयूनीट के Assert.Fail()
के समान कुछ करने में सक्षम होना चाहता हूं। सबसे अच्छा मैं throw new webTestException()
पर आया हूं लेकिन यह के बजाय परीक्षण परिणामों में Error
के रूप में दिखाता है।मैं वेबटेस्ट कैसे विफल कर सकता हूं?
WebTest
पर असफलता को इंगित करने के लिए एक निजी सदस्य चर सेट करने के अलावा, क्या मुझे कुछ याद आया है?
संपादित करें: मैंने Assert.Fail()
विधि का भी उपयोग किया है, लेकिन यह अभी भी वेबटेस्ट के भीतर उपयोग की जाने वाली विफलता के बजाय त्रुटि के रूप में दिखाई देता है, और Outcome
संपत्ति केवल पढ़ने योग्य है (कोई सार्वजनिक सेटटर नहीं है)।
संपादित करें: ठीक है अब मैं वास्तव में स्टंप हूं। मैंने Outcome
प्रॉपर्टी को असफल करने के लिए प्रतिबिंब का उपयोग किया लेकिन परीक्षण अभी भी पास हो गया है!
यहाँ कोड को Oucome सेट है कि विफल हुआ:
public static class WebTestExtensions
{
public static void Fail(this WebTest test)
{
var method = test.GetType().GetMethod("set_Outcome", BindingFlags.NonPublic | BindingFlags.Instance);
method.Invoke(test, new object[] {Outcome.Fail});
}
}
और यहाँ कोड है कि मैं असफल कोशिश कर रहा हूँ है:
public override IEnumerator<WebTestRequest> GetRequestEnumerator()
{
this.Fail();
yield return new WebTestRequest("http://google.com");
}
Outcome
WebTest Oucome.Fail
करने के लिए सेट किया जा रहा है लेकिन जाहिरा तौर पर फ्रेमवर्क वास्तव में परीक्षण पास/असफल परिणामों को निर्धारित करने के लिए इसका उपयोग नहीं करता है।
स्पष्ट किया जाना चाहिए था ... मैं था पहले से ही इन दोनों की कोशिश की है। (इसे प्रतिबिंबित करने के लिए संपादित प्रश्न) – craigb
[माइक्रोसॉफ्ट.विज़ुअल स्टूडियो.क्यूविटीटूल्स। वेबटेस्टफ्रेमवर्क, संस्करण = 9.0.0.0] माइक्रोसॉफ्ट। विज़ुअल स्टूडियो। टेस्टटूल। वेबटेस्टिंग। वेबटेस्ट.सेट_ऑक्टकम (माइक्रोसॉफ्ट.विज़ुअल स्टूडियो। टेस्टटूल। वेबटेस्टिंग। आउटपुट वैल्यू) सार्वजनिक –
नहीं है डीएल के अनुसार मैं उपयोग कर रहा हूँ। ओकुम एक सार्वजनिक गेटर है, लेकिन कोई सार्वजनिक सेटटर नहीं है। मैंने set_Ocomecome (जो निजी है) को कैल करने के लिए प्रतिबिंब का उपयोग किया है, लेकिन इसका अभी भी परीक्षण परिणाम पर कोई प्रभाव नहीं पड़ता है (यानी यह विफल नहीं होता है) – craigb