2017-05-04 9 views
8

में दशमलव मानों का उपयोग करके मुझे MSTest.TestAdaptor 1.1.17 का उपयोग कर विजुअल स्टूडियो 2017 में चलाने के लिए टेस्ट के लिए सी # असेंबली मिली है। मैं कई डेटासेट के साथ परीक्षण चलाने के लिए DataTestMethod का उपयोग करना चाहता हूं। मेरे समस्या है, मैं अपने DataRows में दशमलव मान का उपयोग करना चाहते हैं लेकिन नहीं कर सकते हैं:DataRowAttribute

[DataTestMethod] 
[DataRow(1m, 2m, 3m)] 
[DataRow(1, 2, 3)] 
[DataRow(1.0, 2.0, 3.0)] 
public void CheckIt(decimal num1, decimal num2, decimal expected) 
{ 
} 

जब मैं [DataRow(100m, 7m, 7m)] उपयोग करने के लिए तो यह और भी स्रोत संकलन नहीं होगा की कोशिश: error CS0182: An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type.

जब मैं [DataRow(100, 7, 7)] का उपयोग करता हूं तो परीक्षण विफल हो जाएगा क्योंकि मेरा परीक्षण decimal से अपेक्षा करता है लेकिन int32 मूल्य के रूप में मिलता है।

जब मैं [DataRow(100.0, 7.0, 7.0)] का उपयोग के बाद से अपने परीक्षण decimal उम्मीद लेकिन मूल्य के रूप में double हो जाता परीक्षण असफल हो जायेगी।

मैं DataRow में दशमलव संख्या का उपयोग क्यों नहीं कर सकता?

+0

कौन सी भाषा अपवाद है? क्षमा करें कि भाषा – loneshark99

+0

जर्मन समझता है। 'त्रुटि CS0182'' के लिए एक छोटा Google अंग्रेजी संदेश मिला, मैं सवाल अद्यतन करता हूं! – Sam

उत्तर

2

यह क्योंकि दशमलव एक primitive type

समाधान तार का उपयोग करें और फिर अपने परीक्षण में अपने मानकों को परिवर्तित करने के लिए है नहीं है।

+1

स्ट्रिंग्स आदिम प्रकार नहीं हैं। –