如何模拟返回List <t>的方法?

时间:2017-02-22 11:22:03

标签: c# unit-testing moq

我有以下方法:

public List<ITestKeyword> AddTests(TestEntity testEntity)
{
    var DesignSteps = new List<ITestKeyword>();
    foreach (var testCase in testEntity.TestCases)
    {
        DesignSteps.AddRange(testCase.GetTestStepKeywords());
    }
    return DesignSteps;
}

调用如下:

var listCount= _TestHelper.AddTests(testEntity).Count;

以下是我试图模仿的方法:

_mockTestHelper
    .Setup(s => s.AddTests(It.IsAny<TestEntity>()))
    .Returns(It.IsAny<List<ITestKeyword>>());

但它似乎不起作用。它抛出空引用异常。我无法搞清楚。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

试试这个:

var testList = new List<ITestKeyword>();

_mockTestHelper
    .Setup(s => s.AddTests(It.IsAny<TestEntity>()))
    .Returns(testList);

这样您就可以随意填充列表