我正在为SignalR 2.x应用程序构建一个UnitTest框架。 我正在使用Moq来模拟所需的框架。 我看到如何使用Moq与中心/服务器端的调用进行交互。 关于我如何在客户端这样做,我有点困惑。 如何设置Moq以便我可以模拟到客户端(浏览器)的SignalR调用?
我见过两种模拟客户端的方法: 的 1
var mockClients = new Mock<IHubCallerConnectionContext>();
Clients = mockClients.Object;
2
const string connectionId = "1234";
const string hubName = "SomeHub";
StateChangeTracker tracker = new StateChangeTracker();
var mockPipelineInvoker = new Mock<IHubPipelineInvoker>();
var mockConnection = new Mock<IConnection>();
Clients = new HubConnectionContext(mockPipelineInvoker.Object, mockConnection.Object, hubName, connectionId, tracker);
因此,请考虑从集线器到客户端的以下呼叫:
ActiveClients.Group(groupName).onNotifyClient(hubMessage);
我是新手使用Moq并且仍然可以在运行中搞清楚。 信息/建议将不胜感激。
谢谢, JohnB