2015-01-05 9 views
6

मैं अपने वीबी.नेट स्रोत कोड में "रीथ्रो के साथ पकड़ो" ब्लॉक के लिए 100% कोड कवरेज प्राप्त करने में असमर्थ हूं। मेरा कार्यस्थल आईडीई विजुअल स्टूडियो 2010 अल्टीमेट है। नीचे उदाहरण मेरी वास्तविक समस्या का एक सरलीकृत संस्करण का प्रतिनिधित्व करता है।विजुअल स्टूडियो 2010 अल्टीमेट में वीबी.नेट में "रीथ्रो के साथ कैच" ब्लॉक के लिए मुझे 100% कोड कवरेज कैसे प्राप्त होगा?

सी # में स्रोत: (हल्के नीले रंग की पृष्ठभूमि पूर्ण कोड कवरेज को इंगित करता है)

Source in C#


VB.NET में समतुल्य स्रोत: (पीले रंग की पृष्ठभूमि आंशिक कोड कवरेज को इंगित करता है)

Source in VB.NET

दोनों C# और VB.NET स्रोत के लिए


MSTests

MSTests


कोड कवरेज रिपोर्ट

(100% कोड कवरेज प्राप्त करने के उद्देश्य से)

Code Coverage Report


कोड कवरेज रिपोर्ट सी # के लिए 100%, लेकिन VB.NET के लिए केवल 91.67% दिखाता है। यह वीबीएनईटी में 0 लाइनों के साथ कोड के 1 ब्लॉक को भी खुलासा करता है।

क्या यह उपकरण के साथ एक मुद्दा है? या क्या मुझे कुछ याद आ रही है?

संपादित करें # 1: शेयरिंग स्रोत कोड VB में

public class CodeCoverage 
{ 
    public void DoWork(bool flag = false) 
    { 
     try 
     { 
     Thread.Sleep(1); 

     if (flag) 
      { 
       throw new Exception("test"); 
      } 
     } 
     catch (Exception ex) 
     { 
     throw new Exception(string.Format("something happened: {0}", ex.Message)); 
     } 
    } 
} 


स्रोत कोड सी # में @Raptor

स्रोत कोड द्वारा अनुरोध किया।

[TestClass] 
public class CodeCoverageTest 
{ 
    [TestMethod] 
    public void DoWorkTest() 
    { 
     var obj = new CodeCoverage(); 
     obj.DoWork(); 
    } 

    [TestMethod] 
    [ExpectedException(typeof(Exception))] 
    public void DoWorkTest2() 
    { 
     var obj = new CodeCoverage(); 
     obj.DoWork(true); 
    } 

    [TestMethod] 
    public void DoWorkTest3() 
    { 
     var obj = new CodeCoverage2(); 
     obj.DoWork(); 
    } 

    [TestMethod] 
    [ExpectedException(typeof(Exception))] 
    public void DoWorkTest4() 
    { 
     var obj = new CodeCoverage2(); 
     obj.DoWork(true); 
    } 
} 
+1

स्क्रीनशॉट के बजाय यहां अपने कोड पोस्ट करें – Raptor

+0

@Raptor - मैंने स्रोत कोड में कोड कवरेज (नीला और पीला) दिखाने के लिए स्क्रीनशॉट का उपयोग किया। अगर मैं अपना स्रोत भी साझा करता हूं तो क्या इससे मदद मिलेगी? – Channs

+0

हां। आपको ऐसा करना चाहिए। – Raptor

उत्तर

संबंधित मुद्दे