[英]Azure C# EventHubClient mock for unit test
我正在为我们的应用程序编写一个事件发布者,它在内部使用Azure C#EventHubClient 。
我想单元测试我的事件被正确转换为EventData对象(Properties + Body)以及其他一些功能。 长话短说,我需要一些方法来为EventHubClient创建一个模拟器。 不幸的是,似乎没有一种简单的方法可以做到这一点:
理论上,我可以创建一个包装器接口和类,我想要使用的方法,但它意味着有更多的代码来维护。 有没有人知道使用EventHubClient进行单元测试的更好方法?
我刚刚在EventHubClient
周围写了一个简单的包装器,然后嘲笑它。
public class EventHubService : IEventHubService
{
private EventHubClient Client { get; set; }
public void Connect(string connectionString, string entityPath)
{
var connectionStringBuilder = new EventHubsConnectionStringBuilder(connectionString)
{
EntityPath = entityPath
};
Client = EventHubClient.CreateFromConnectionString(connectionStringBuilder.ToString());
}
public async void Disconnect()
{
await Client.CloseAsync();
}
public Task SendAsync(EventData eventData)
{
return Client.SendAsync(eventData);
}
}
然后测试很简单: var eventHubService = new Mock<IEventHubService>();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.