Rhino Mocks:如何模拟ADO.NET的DataRow?

Geo*_*uer 4 .net ado.net rhino-mocks

ADO.NET拥有臭名昭着的DataRow类,您无法使用new进行实例化.这是一个问题,因为我发现需要使用Rhino Mocks来模拟它.

有没有人有任何想法如何解决这个问题?

Jos*_*osh 12

我很好奇为什么你需要模拟DataRow.有时你可能会陷入嘲弄,忘记使用真实的东西也是一样谨慎.如果您传递数据行,那么您可以简单地使用辅助方法实例化一个并将其用作模拟的返回值.

SetupResult.For(someMockClass.GetDataRow(input)).Return(GetReturnRow());

public DataRow GetReturnRow()
{
    DataTable table = new DataTable("FakeTable");
    DataRow row = table.NewRow();
    row.value1 = "someValue";
    row.value2 = 234;

    return row;
}
Run Code Online (Sandbox Code Playgroud)

如果这不是你所处的情况,那么我将需要一些示例代码来弄清楚你想要做什么.