2017-05-04 29 views
8

Ondalık değerlerini kullanma Visual Studio 2017'de MSTest.TestAdaptor 1.1.17 kullanarak çalışacak Testler için bir C# derleme var. Çeşitli veri kümeleriyle bir testi çalıştırmak için DataTestMethod kullanmak istiyorum. Benim Sorun benim datarows ondalık değerleri kullanmak istiyorum ama can not vardır: error CS0182: An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type.: 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) 
{ 
} 

ben bile kaynak derlemek olmaz [DataRow(100m, 7m, 7m)] kullanmayı deneyin

.

[DataRow(100, 7, 7)] kullandığımda, sınama decimal beklediğinden test başarısız olur, ancak int32 değerini alır.

[DataRow(100.0, 7.0, 7.0)] kullanırken, sınama decimal beklediğinden, ancak double değerini değer olarak aldığından başarısız olur.

DataRow'da neden ondalık sayı kullanamıyorum? ondalık bir primitive type

çözüm testinde Parametrelerinizi dönüştürmek ardından dizeleri kullanmak ve etmektir olmadığı için

+0

Hangi dil istisnadır? Üzgünüz bu dili anlamıyorum – loneshark99

+0

Thats Almanca. Kısa bir Google for 'error CS0182' ingilizce mesajını buldu, soruyu güncelliyorum! – Sam

cevap

2

öyle.

+1

Dizeler ya ilkel türler değildir. –