如何在SignalR 2.x单元测试框架中向模拟的客户端添加组支持? [英] How do I add Group support to a mocked Client in a SignalR 2.x unit testing framework?

查看:106
本文介绍了如何在SignalR 2.x单元测试框架中向模拟的客户端添加组支持?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Moq为我的SignalR 2.x应用程序建立一个UnitTest框架. 我目前正在通过以下方式模拟我的客户:

I'm using Moq to build up a UnitTest framework for my SignalR 2.x application. I am currently mocking up my Clients by:

var mockClients = new Mock<IHubCallerConnectionContext>();
Clients = mockClients.Object;

为了测试,我需要按组测试发送消息:

In order to test, I need to test sending messages by Group:

Clients.Group(groupName).sendSomeMessage(message);

如何为我的模拟客户端添加网上论坛支持?

How do I add Group support to my mocked up Client?

推荐答案

检查以下内容: https://github .com/SignalR/SignalR/blob/release/tests/Microsoft.AspNet.SignalR.Tests/Server/Hubs/HubFacts.cs

 public void HubsGroupAreMockable()
        {
            var hub = new MyTestableHub();
            var mockClients = new Mock<IHubCallerConnectionContext<dynamic>>();
            var groups = new Mock<IClientContract>();

            hub.Clients = mockClients.Object;
            groups.Setup(m => m.send(It.IsAny<string>())).Verifiable();
            mockClients.Setup(m => m.Group("test")).Returns(groups.Object);
            hub.SendGroup("test", "foo");

            groups.VerifyAll();
        }

这篇关于如何在SignalR 2.x单元测试框架中向模拟的客户端添加组支持?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆