我正在尝试为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对象就可以了。