2014-09-11 17 views
0

我嘗試以下操作:testcasesource列表和預期的結果

private readonly object[] _integerListsAndExpectedResults = {new object[] {new List<decimal> {1}, 1}, 
new object[] {new List<decimal> {1, 2}, 3} 
}; 

[Test, TestCaseSource("_integerListsAndExpectedResults")] 
public void GivenListOfIntegers_WhenIAddThem_ThenTheResultsAreCorrect(List<decimal> testList, decimal expectedResult) 
{ 
... 

但不幸的是預期它不工作。有任何想法嗎?

回答

1

我試圖運行你的代碼,我發現NUnit的亞軍是不能夠映射INT與小數。

您只需在輸入參數末尾添加M即可更改輸入類型。請參考下面的代碼 -

private readonly object[] _integerListsAndExpectedResults = { 
                    new object[] {new List<decimal> {1M}, 1M}, 
                    new object[] {new List<decimal> {1M, 2M}, 3M} 
                   }; 

    [Test, TestCaseSource("_integerListsAndExpectedResults")] 
    public void GivenListOfIntegers_WhenIAddThem_ThenTheResultsAreCorrect(List<decimal> testList, 
     decimal expectedResult) 
    { 
+0

非常感謝。順便說一句,如果沒有使用第二個期望值,它似乎沒有m。可能是一個在nunit中的錯誤... – cs0815 2014-09-11 09:55:49