Mocking ExecutionContext в Azure модульных тестах функции триггера очереди - PullRequest
0 голосов
/ 10 апреля 2020

Как я могу издеваться над ExecutionContext при тестировании функции триггера очереди? Ниже приведен пример функции, в которой я использую ExecutionContext для получения некоторых значений параметров, которые я использую далее в этой функции. Мне нужно будет также предоставить значения тестирования для этих параметров.

[FunctionName("ProcessQueueFunction")]
public static void Run([QueueTrigger("process-queue", Connection = "AzureWebJobsStorage")]string queueItem, ILogger log, ExecutionContext context)
{
   var config = new ConfigurationBuilder()
       .SetBasePath(context.FunctionAppDirectory)
       .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
       .AddEnvironmentVariables()
       .Build();

       var customConfiguraion = config.GetSection("CustomSection");

       //do stuff...
}

Я могу сделать что-то, ссылка это, но это дает мне ошибку на FunctionAppDirectory быть недействительным или пустым. Что мне нужно для установки FunctionAppDirectory? или это неправильный способ сделать это?

var mockContext = new Mock<ExecutionContext>();
mockContext.Object.FunctionAppDirectory = string.Empty; //or any other value

ProcessQueueFunction.Run("TestQueueItem", log: logger, context: mockContext.Object);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...