在NMOCK2中返回对象

时间:2013-11-18 10:20:07

标签: c# nmock2

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

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);
    }
}

1 个答案:

答案 0 :(得分:0)

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

new List<Result>()

如果要创建包含单个元素的列表,可以使用collection initializer

new List<Result> { new Result() }

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