0
我正在爲SignalR 2.x應用程序構建一個UnitTest框架工作。 我使用Moq來模擬所需的框架。 我看到我可以如何使用Moq與集線器/服務器端的呼叫進行交互。 我有點困惑,我會如何在客戶端做到這一點。 如何設置Moq,以便我可以模擬SignalR呼叫到客戶端(瀏覽器)?如何設置Moq,以便我可以模擬客戶端(瀏覽器)的SignalR呼叫?
我見過2種方法嘲諷客戶端: 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
我已經看了看樣品。當您向所有連接的客戶端發送消息時,這是一個很好的起點。它不能滿足我的需求。我試圖弄清楚如何模擬組對象,以便我可以單元測試將消息分發給各個組。 – JohnB