0

我正在使用 NMOCK2,我希望我的模拟返回一个包含 1 个元素的列表,. 这是我到目前为止所写的:

Expect.Once.On(mockDatabaseManager).
    Method("GetTablesNames").
    Will(Return.Value(new List<Result>())); 

甚至有可能做这样的事情,如果是,我该怎么做?

结果定义:

public class Result
{
    private Dictionary<String, Object> _result = new Dictionary<string,object>();

    public string GetString(String columnName)
    {
        return _result[columnName].ToString();
    }

    public double GetDouble(String columnName)
    {
        return Double.Parse(_result[columnName].ToString());
    }

    public int GetInteger(String columnName)
    {
        return int.Parse(_result[columnName].ToString());
    }

    public void Put(String columnName, Object value)
    {
        _result.Add(columnName, value);
    }
}
4

1 回答 1

0

您正在使用以下代码创建一个新的空列表:

new List<Result>()

如果要创建包含单个元素的列表,可以使用集合初始化器

new List<Result> { new Result() }

Result该类包装了一个字典。但是,似乎没有办法向该字典添加条目,因此调用new Result()将创建一个非常无聊的对象,但这在单元测试中可能很好。)

于 2013-11-18T10:22:59.220 回答