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