定时器中的azure服务总线客户端触发了azure功能单元测试



我正在尝试为azure计时器触发的函数创建Xuit测试,我必须在Run方法中传递服务总线客户端队列,我不能模拟服务总线队列,也不确定如何作为参数传递

下面是我的azure功能

[FunctionName("TimerJob")]
public static async Task Run([TimerTrigger("%TimerJobExpression%")] TimerInfo myTimer,
[ServiceBus("%Queue1%", Connection = "ServiceBusConnection")] IAsyncCollector<string> Queue1,
[ServiceBus("%Queue2%", Connection = "ServiceBusConnection")] IAsyncCollector<string> Queue2,
ILogger log)
{
//logic
}

下面是我试图创建的测试方法

[Fact]
public async Task Run_Queue()
{

var param1 = default(TimerInfo);
var result = await ProducerClientTimerJob.Run(param1, null, null, logger);

}

正如注释中提到的sellotape,您只需要提供一个IAsyncCollector对象。

这是一个输出绑定,信息已存储在属性中,因此不需要提供任何服务总线的输入信息。只要给一个IAsyncCollector对象就可以了。

最新更新