相关疑难解决方法(0)

NSubstitute - 检查传递给方法的参数

我们目前正在从RhinoMocks迁移到NSubstitute.

我有一个采用类型对象的方法DatabaseParams.该类具有以下结构(简化):

public class DatabaseParams
  {
    public string StoredProcName { get; private set; }
    public SqlParameter[] Parameters { get; private set; }

    public DatabaseParams(string storeProcName, SqlParameter[] spParams)
    {
      StoredProcName = storeProcName;
      Parameters = spParams;
    }
  }
Run Code Online (Sandbox Code Playgroud)

我有以下方法我想检查传递给它的参数是否正确:

public interface IHelper
{
Task<object> ExecuteScalarProcedureAsync(DatabaseParams data);
}
Run Code Online (Sandbox Code Playgroud)

如何DatabaseParams使用正确的值测试传递给该方法的实例?

我可以在RhinoMocks中用这样的方法做到这一点:

helperMock.Expect(m => m.ExecuteScalarProcedureAsync(Arg<DatabaseHelperParameters>.Matches(
        p =>   p.StoredProcName == "up_Do_Something"
            && p.Parameters[0].ParameterName == "Param1"
            && p.Parameters[0].Value.ToString() == "Param1Value"
            && p.Parameters[1].ParameterName == "Param2"
            && p.Parameters[1].Value.ToString() == "Param2Value"
        ))).Return(Task.FromResult<DataSet>(null));
Run Code Online (Sandbox Code Playgroud)

正在模拟包含该方法helperMock …

c# mocking nsubstitute

9
推荐指数
2
解决办法
4770
查看次数

标签 统计

c# ×1

mocking ×1

nsubstitute ×1