Каков наилучший подход для интеграционного тестирования функции Azure TimerTrigger?
У меня есть функция Azure, которая копирует данные из таблицы Oracle в таблицу Azure SQL и отправляет электронная почта через SendGrid. Вот псевдокод:
public static void Run(TimerInfo myTimer, ILogger log)
{
Fecth_Data_From_Oracle_table()
Insert_Data_To_AzureSQL_table()
Send_StatusEmail_Via_SendGrid()
}
Как видно, функция ничего не возвращает, так как бы я подошел к Интеграционному тестированию этой функции?
Могу ли я изменить тип возвращаемого значения на что-то вроде Task<IActionResult>
, но затем я изменяю некоторый уже запущенный код и возвращаю некоторые HTTP-коды на основе результатов методов?
Я просто вызываю триггерную функцию таймера из Visual Studio с ключом api и классом HttpClient fx GET https://myfunc01.azurewebsites.net/admin/functions/TimerTriggereFunc?code={key}
и подтвердить ее возвращаемое значение? (Для этого требуется, чтобы функция что-то возвращала.)
У Джеффа Холана есть примеры интеграционного тестирования функции Azure локально с использованием класса System.Diagnostics.Process для запуска и остановки. NET Core CLI ( do tnet .exe), который, в свою очередь, запускает хост функций Azure через fun c .dll, но это кажется слишком сложным. Это неправильный подход к тестированию интеграции функции Azure, где она размещена в Azure, или это необходимо для ее локального тестирования?
Кажется, я не могу найти четких указаний по этому поводу.