Как имитировать DurableTaskClient в модульном тесте и получать ошибку при настройке макетирования ScheduleNewOrchestratiC#

Место общения программистов C#
Ответить
Anonymous
 Как имитировать DurableTaskClient в модульном тесте и получать ошибку при настройке макетирования ScheduleNewOrchestrati

Сообщение Anonymous »

Я пытаюсь написать модульный тест для устойчивой функции. В это время я столкнулся с проблемой насмешки над DurableTaskClient. Я получаю сообщение об ошибке в настройке макетирования ScheduleNewOrchestrationInstanceAsync.
Вот код модульного теста:

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

    public async Task HttpStart_ValidRequest_ReturnsSuccessResponse()
{
// Arrange
// Define constants
const string functionName = "SampleFunction";
const string instanceId = "7E467BDB-213F-407A-B86A-1954053D3C24";

var loggerMock = new Mock();
var optionsMock = new Mock();
var commonServiceMock = new Mock();
var ServiceMock = new Mock();

var requestMock = new Mock();
var requestBody = @"{""Id"":""123""}";
requestMock.Setup(req => req.Body).Returns(new MemoryStream(Encoding.UTF8.GetBytes(requestBody)));

var durableClientMock = new Mock();

durableClientMock.Setup(x => x.ScheduleNewOrchestrationInstanceAsync(functionName It.IsAny())).
ReturnsAsync(instanceId);

durableClientMock.Setup(client => client.ScheduleNewOrchestrationInstanceAsync(It.IsAny(), requestMock.Object))
.ReturnsAsync("instanceId123");

var functionContextMock = new Mock();
functionContextMock.Setup(ctx => ctx.GetLogger(It.IsAny())).Returns(loggerMock.Object);

var buildTemplate = new BuildTemplate(optionsMock.Object, commonServiceMock.Object, ServiceMock.Object);

// Act
var response = await buildTemplate.HttpStart(requestMock.Object, durableClientMock.Object, functionContextMock.Object);

// Assert
Assert.IsNotNull(response);
Assert.AreEqual(202, response.StatusCode);
}

Я пытался настроить DurableClientMock двумя разными способами, но оба не работают.

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

        durableClientMock.Setup(x => x.ScheduleNewOrchestrationInstanceAsync(functionName It.IsAny())).
ReturnsAsync(instanceId);

durableClientMock.Setup(client => client.ScheduleNewOrchestrationInstanceAsync(It.IsAny(), requestMock.Object))
.ReturnsAsync("instanceId123");
Отображается ошибка:
Изображение


Подробнее здесь: https://stackoverflow.com/questions/781 ... hedulenewo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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