Интеграционный тест Azure Функция TimerTrigger - PullRequest
0 голосов
/ 23 января 2020

Каков наилучший подход для интеграционного тестирования функции 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, или это необходимо для ее локального тестирования?

Кажется, я не могу найти четких указаний по этому поводу.

1 Ответ

0 голосов
/ 24 января 2020

Если вы хотите проверить свою функцию запуска по таймеру, вы можете создать Application Insights для него при создании функции на портале azure. Это может помочь вам контролировать вашу функцию azure, и вы можете использовать log.LogInformation, чтобы напечатать все, что вы хотите в вашей функции запуска таймера. Затем вы можете нажать кнопку «Монитор» в вашей функции и посмотреть журнал этого. Если вы хотите узнать больше информации о вашей функции, вы можете нажать кнопку «Показатели приложения в реальном времени». enter image description here

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