Передача потока из тестового примера в метод - PullRequest
1 голос
/ 24 марта 2020

Я пишу тестовые случаи для API.

В API я получаю поток памяти в теле HttpRequest. В приведенном ниже фрагменте req является экземпляром HttpRequest

string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
dynamic data = JsonConvert.DeserializeObject(requestBody);

Итак, во время насмешек у меня есть этот код:

Data data = new Data()
{
    width = 400,
    height = 600,
    text = "text",
    barcodeformat = ZXing.BarcodeFormat.CODE_128.ToString()
};

byte[] inputData = null;
BinaryFormatter bf = new BinaryFormatter();
using (var ms = new MemoryStream())
{
    bf.Serialize(ms, data);
    inputData = ms.ToArray();
}
var mockHttp = new Mock<HttpRequest>();
mockHttp.Setup(x => x.Body).Returns(new MemoryStream(inputData));

Но в коде API я получить значение в data в виде пустой строки. Пожалуйста, помогите мне понять, где я иду не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...