1
私はSignalRアプリケーションのモックテストケースを作成しています。私はちょうどUnit Testing SignalR Applicationsの助けを借りて始めましたが、私の要件はそこに示されている例と少し異なります。 以下は、私がグーグルで行ったコードです。SignalR Clientsを模擬する方法。ユニットテストのグループ
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グループを模擬するための正しい方法であるかどうかを確認します。 Microsoft.AspNet.SignalR.Tests
ハブグループから
を返すことをあなたはすべてのエラーを取得しているか、これはコードレビューであることを意味する?与えられた
ExpandoObject
を使用してグループになり– Nkosi
@Nkosiエラーはありません。テストは正常に終了しました。コードレビューが模擬するのが正しいかどうかを確認するだけです。そうでない場合は、それを修正するためにあなたの助けが必要です。 – Shri
私は上記のコードをテストし、それは合格しませんでした。私の答えは、あなたのコードがうまくいかなかったという事実に基づいています。 – Nkosi