如何解决定时器触发天蓝色功能单元测试中的天蓝色服务总线客户端
我正在尝试为 azure 计时器触发函数创建 Xunit 测试,我必须在 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,logger);
}
解决方法
正如评论中提到的 sellotape,您只需要提供一个 IAsyncCollector 对象即可。
这是一个输出绑定,信息已经存储在属性中,所以你不需要提供任何服务总线的输入信息。只给一个 IAsyncCollector 对象就可以了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。