J'écris des cas de test fictif pour l'application SignalR. Je viens de commencer avec l'aide de Unit Testing SignalR Applications, mais mon exigence est un peu différent de l'exemple montré ici. Voici le code que j'ai fait après googling.Façons de se moquer des clients SignalR.Groupe en test unitaire
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);
}
}
}
Test Unit
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();
}
Je suis débutant dans l'application Unit Test, je veux juste confirmer si cela est la bonne façon de se moquer de groupes SignalR.
Obtenez-vous des erreurs ou est ce censé être une revue de code? – Nkosi
@Nkosi Pas d'erreur, test réussi. C'est juste pour l'examen du code pour vérifier si c'est la bonne façon de se moquer? sinon, alors besoin de votre aide pour le corriger. – Shri
J'ai testé le code que vous avez ci-dessus et il n'a pas réussi. Mon coup de réponse était basé sur le fait que votre code ne fonctionnait pas. – Nkosi