NSubstitute — проверка аргументов, переданных методу ⇐ C#

Место общения программистов C#
Anonymous
NSubstitute — проверка аргументов, переданных методу

Сообщение Anonymous »

В настоящее время мы находимся в процессе перехода с RhinoMocks на NSubstitute.
У меня есть метод, который принимает объект типа DatabaseParams. Этот класс имеет следующую структуру (упрощенную):

Код: Выделить всё

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

public DatabaseParams(string storedProcName, SqlParameter[] spParams)
{
StoredProcName = storedProcName;
Parameters = spParams;
}
}
У меня есть следующий метод, и я хочу проверить правильность передаваемых ему аргументов:

Код: Выделить всё

public interface IHelper
{
Task ExecuteScalarProcedureAsync(DatabaseParams data);
}
Как проверить, что экземпляр DatabaseParams был передан в этот метод с правильными значениями?
Я мог бы сделать это в RhinoMocks примерно так:

Код: Выделить всё

helperMock.Expect(m => m.ExecuteScalarProcedureAsync(Arg.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(null));
HelperMock имитирует интерфейс IHelper, который содержит метод ExecuteScalarProcedureAsync.

Подробнее здесь: https://stackoverflow.com/questions/313 ... -to-method

Вернуться в «C#»