Как я могу издеваться над 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);