1
我正在爲SignalR應用程序編寫模擬測試用例。我剛開始在Unit Testing SignalR Applications的幫助下,但我的要求與在那裏顯示的示例略有不同。 以下是我在Google搜索後完成的代碼。模擬SignalR客戶端的方法。單元測試組
SignalRHub
public class HubServer : Hub
{
[HubMethodName("SendNofication")]
public void GetNofication(string message)
{
try
{
Clients.Group("Manager").BroadCast(message);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
單元測試
public interface IClientContract { }
[TestMethod]
public void GetNoficationTest()
{
var hub = new HubServer();
var mockClients = new Mock<IHubCallerConnectionContext<dynamic>>();
hub.Clients = mockClients.Object;
var all = new Mock<IClientContract>();
string message = "Message to send";
mockClients.Setup(m => m.Group("Manager")).Returns(message);
mockClients.Setup(m => m.All).Returns(all.Object);
hub.GetNofication("Mock call to SingalR hub");
all.VerifyAll();
}
我初學者在單元測試應用程序,只是想確認這是否是嘲笑SignalR組正確的方式。
您是否收到任何錯誤,或者這是意味着是一個代碼審查? – Nkosi
@Nkosi沒有錯誤,測試通過成功。這只是代碼審查,以檢查它是否是正確的方式來模擬?如果沒有,那麼需要你的幫助來糾正它。 – Shri
我測試了上面的代碼,但沒有通過。我的迴應是基於你的代碼無法工作的事實。 – Nkosi