.NET Framework / Тестирование и отладка

Подмена тела метода в moq

Подмена содержимого метода, вместо подмены результирующего значения, в moq.


Имеется метод с двумя входными параметрами.

public interface IWebClient
{
    string Post(string uri, string data);
}

Необходимо с помощью moq реализовать заглушку метода Post, но не просто вернуть какое то значение, а еще и записать в окно отладки параметры, с которыми вызван метод.

var mockWebClient = new Mock<IWebClient>();
mockWebClient.Setup(client => client.Post(It.IsAny<string>(), It.IsAny<string>())).Returns((string uri, string data) =>
{
    Debug.WriteLine(uri);
    Debug.WriteLine(data);
    return "{\"session\":\"12345\"}";
});
var webClient = mockWebClient.Object;

About the author

Добавить комментарий