testcasesource输入数据列表和预期结果

时间:2014-09-11 08:16:24

标签: nunit

我正在尝试以下方法:

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 个答案:

答案 0 :(得分:1)

我试过运行你的代码,我发现Nunit runner无法用小数点映射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)
    {