Azure functions 集成测试Azure TimerTrigger函数

Azure functions 集成测试Azure TimerTrigger函数,azure-functions,integration-testing,Azure Functions,Integration Testing,集成测试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_

集成测试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
,但随后我修改了一些已经运行的代码,并根据方法的结果返回了一些HTTP代码

我是否仅使用api键和HttpClient类f.x从Visual Studio调用计时器触发器函数https://myfunc01.azurewebsites.net/admin/functions/TimerTriggereFunc?code={key}并在其返回值上断言?(这要求函数返回一些内容。)

Jeff Holan提供了通过使用System.Diagnostics.Process类启动和停止.NET Core CLI(dotnet.exe)在本地对Azure函数进行集成测试的示例,后者反过来通过func.dll启动Azure函数主机,但这似乎过于复杂。如果Azure功能托管在Azure中,那么对其进行集成测试是一种错误的方法,还是必须在本地对其进行测试


我似乎找不到明确的指导方针。

如果您想测试计时器触发功能,可以在azure portal上创建功能时为其创建。它可以帮助您监控azure功能,并且您可以使用“log.LogInformation”在计时器触发器功能中打印您想要的任何内容。然后,您可以单击功能中的“监视”按钮,并查看其日志。如果您想了解有关您的功能的更多信息,可以单击“Live app metrics”按钮。

我已经在这样做了,但这是一个手动过程。进行集成测试会给我提供自动反馈。你测试的目的是什么?例如,如果要确保“Insert_Data_to_AzureSQL_table”函数已成功运行,则应检查该函数是否已将预期数据插入数据库中。