我应该担心signalR集成测试中的调试异常吗?

时间:2018-12-18 22:34:15

标签: c# signalr integration-testing

在调试窗口中显示异常,如下所示:

vstest.executionengine.x86.exe错误:0:关闭websocket时出错:System.Net.WebSockets.WebSocketException(0x80004005):发生内部WebSocket错误。有关更多详细信息,请参见innerException(如果存在)。 ---> System.Net.Sockets.SocketException(0x80004005):现有连接被远程主机强行关闭        在System.Net.WebSockets.WebSocketConnectionStream.WebSocketConnection.WriteAsync处(字节[]缓冲区,Int32偏移量,Int32计数,CancellationToken cancelledToken)

还有更多,我只是剪下来。

我要做的是为SignalR服务器和客户端编写集成测试。

这里有2个简单的测试用例:

        [TestMethod]
        public void It_Should_Allow_Register()
        {
            using (var server = WebApp.Start<Startup>("http://+:61744"))
            {
                var client = GetConnectedClient();
                Assert.IsTrue(client.IsConnected);
                DisposeClients(client);
            }
        }

        [TestMethod]
        public void It_Should_Allow_MultipleClients()
        {
            using (var server = WebApp.Start<Startup>("http://+:61744"))
            {
                var client1 = GetConnectedClient();
                Assert.IsTrue(client1.IsConnected);

                var client2 = GetConnectedClient();
                Assert.IsTrue(client2.IsConnected);

                DisposeClients(client1, client2);
            }
        }

我还有其他测试用例,但想法是,每个测试都会启动内存中的自托管Owin服务器,并创建一个或多个连接到它的客户端,然后在业务逻辑之后安全地断开所有客户端的连接。被执行。

不幸的是,如果我一次运行一个测试用例,它可以正常工作。 但是,如果我将它们全部一起运行,则会打印出令人讨厌的WebSocketException。

测试用例似乎执行得很好。我在调试中打印出请求和响应(调用SignalR服务器功能时)。一切都很好,例外是调试跟踪中的例外。

我发现了这篇文章: SignalR Websocket Exception when closing client

所以我无故添加了

Connection.Stop(TimeSpan.FromSeconds(3000)); 

Connection是一个HubConnection。

还是一样。

老实说,如果我确定测试中的所有业务逻辑都已执行,我是否还要关心?

0 个答案:

没有答案