2010-11-24 8 views
6

मेरे पास सी # में लिखा गया एक यूनिट टेस्ट है जो एक स्रोत स्रोत के रूप में एक सीएसवी का उपयोग करता है:CSV फ़ाइल से डेटा संचालित इकाई परीक्षण में शून्य मान कैसे पास करें?

 [DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\TestData.csv", "TestData#csv", DataAccessMethod.Sequential), DeploymentItem("TxRP.Tests\\TestData.csv"), TestMethod()] 
    public void CompareOrgsTest() 
    { 
     // Arrange 
     var vdd = new Mock<ViewDataDictionary>().Object; 
     HtmlHelper helper = MVCMocks.CreateMockHelper(vdd); 
     string orgOne = testContextInstance.DataRow["OrgOne"].ToString(); 
     string orgTwo = testContextInstance.DataRow["OrgTwo"].ToString(); 
     bool expected = Convert.ToBoolean(testContextInstance.DataRow["OrgCompareExpected"]); 

     // Act 
     bool actual = HtmlHelpers.CompareOrg(helper, orgOne, orgTwo); 

     // Assert 
     Assert.AreEqual(expected, actual, "Did not return " + expected + ". Org1=" + orgOne + ", Org2=" + orgTwo); 
    } 

शानदार काम करता है, जब तक कि मुझे कुछ शून्य मान परीक्षण जोड़ने की आवश्यकता न हो। मुझे लगता है कि डेटा तत्वों में से एक के रूप में एक पूर्ण मूल्य को कैसे पास किया जाए ... क्या किसी ने इससे पहले किया है?

धन्यवाद!

+0

मैंने स्पष्ट - रिक्त सेल की कोशिश की है, न्यूल में टाइपिंग, इनमें से कोई भी काम नहीं करता है। – morganpdx

+0

आप किस प्रकार के डेटा से निपट रहे हैं? इंटीग्रर्स, स्ट्रिंग्स, एकाधिक प्रकार? जब तक आप कहते हैं कि आपको एक शून्य मूल्य की आवश्यकता नहीं है, तो वास्तव में क्या होता है, क्या प्रोग्राम बस दुर्घटनाग्रस्त हो जाता है? क्या मॉक पर डॉक्यूमेंटेशन शून्य मूल्यों से निपटने के बारे में बात करता है? –

उत्तर

5

आप नहीं कर सकते। आप एक CSV फ़ाइल से मूल्यों में पढ़ रहे हैं। एक CSV फ़ाइल में 'शून्य' मान जैसी कोई चीज़ नहीं है। अगली सबसे अच्छी बात जो मुझे करना है, वह सीएसवी फ़ाइल से 'जादू स्ट्रिंग' पढ़ी जाने पर 'शून्य' का परीक्षण करने के लिए कुछ कोड लिखना होगा।

string orgOne = testContextInstance.DataRow["OrgOne"].ToString(); 
if (orgOne=="null") 
    orgOne = null; 
+0

या बस रिक्त तारों को शून्य में परिवर्तित करें? –

+1

मैं इस संदर्भ में रिक्त तारों को शून्य में बदलने की अनुशंसा नहीं करता क्योंकि आप चाहते हैं कि आपका कोड खाली तारों और शून्य तारों का अलग-अलग व्यवहार करे। –

+0

धन्यवाद @ राइस आटा कुकीज़, मुझे पूर्व-अवकाश मस्तिष्क होना चाहिए! – morganpdx

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