Пример модульного теста для функции Azure, запускаемой по времени - PullRequest
0 голосов
/ 12 июля 2019

Я новичок в функциях Azure.Я реализовал функцию Azure, запускаемую по времени, и хочу написать для нее тестовые примеры.Я использую specflow и nunit для написания своих тестовых случаев.Однако я не могу найти правильный пример того, как заглушить функцию запуска по времени.Может кто-нибудь указать мне правильный пример?Спасибо.

Ответы [ 2 ]

1 голос
/ 12 июля 2019

Я бы больше не называл это модульным тестом, но вы можете запускать не-HTTP-функции, вызывая следующую конечную точку администратора приложения функций:

POST <ROOT_URL>/admin/functions/<FUNCTION_NAME>

Обратите внимание, что вынеобходимо указать системный ключ в заголовке x-functions-key при отправке запроса к приложению развернутой функции.

Дополнительная информация в документах .

Альтернатива

То, что я обычно пытаюсь сделать, это поместить как можно большую часть бизнес-логики в отдельный класс, который легко тестируется, и вызывать этот класс из функции.

Лично я неЯ думаю, что вы должны проверить, работает ли триггер, это является ответственностью среды выполнения функций Azure.Хорошо, чтобы проверить это в более широком интеграционном тесте, но не как быстрый и часто выполняемый модульный тест.

0 голосов
/ 12 июля 2019
  1. Получите бизнес-логику из самой функции и вместо этого используйте библиотеки вызовов функций.
  2. Добавить тесты для этих библиотек.

Вам не нужно делать ничего специфического для функций Azure, чтобы протестировать ваш код.

Если вы пытаетесь провести интеграционное тестирование, следуйте совету Марка.

...