如何使用FakeItEasy更新参数的属性

时间:2011-09-15 14:19:25

标签: fakeiteasy

我的界面包含一个如下所示的成员:

void ExecuteSqlCommand(string procedureName, SqlParameter[] parameters);

我正在使用FakeItEasy创建一个模拟这个传递给我的一个类。

我正在测试的代码调用此方法,然后检查其中一个SqlParameters的值。在调用方法时,如何使用FakeItEasy设置此参数的Value属性?

我很欣赏这可能不是从数据库中获取单个信息的最佳实践,但我正在使用现有的存储过程,其中一些存储过程具有OUT参数。

1 个答案:

答案 0 :(得分:4)

正如你所说,这可能不是最好的做法。除此之外,我猜你可以这样做:

A.CallTo(() => fake.ExecuteSqlCommand(A<string>._, A<SqlParameter[]>._)).Invokes(x =>
{
    x.GetArgument<SqlParameter[]>(1)[indexOfTheParameterYouWantToSet].Value = yourValue;
});