c# - 如何测试我的套接字异常处理代码?

标签 c# .net unit-testing exception

我有以下代码:

try
{
  mainSocket = new Socket(AddressFamily.InterNetwork, 
    SocketType.Stream, ProtocolType.Tcp);
  IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Any, serverPort);
  mainSocket.Bind(ipEndPoint);
  mainSocket.Listen(MAX_CONNECTIONS);
  mainSocket.BeginAccept(new AsyncCallback(serverEndAccept), mainSocket);
  OnNetworkEvents eventArgs = 
    new OnNetworkEvents(true, "Listening for Connection");
  OnUpdateNetworkStatusMessage(this, eventArgs);
}
catch (SocketException e)
{
  // add code here
}
catch (ObjectDisposedException e)
{
  // add code here
}

如果服务器始终成功监听,我如何测试代码的 SocketException

最佳答案

不要针对实时网络进行测试。模拟套接字并针对抛出 SocketException 的模拟进行测试。

关于c# - 如何测试我的套接字异常处理代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2028964/

相关文章:

c# - 从 C# 访问 Gmail 帐户

c# - Newtonsoft.Json.JsonToken.StartConstructor token 的用途是什么?

c# - EF Core 5 HasDefaultValue 问题,当值设置为 .Net 类型默认值时,ef 推送默认值

c# - 抽象类未使用 CodeDom 生成

python - 如何在 Python 单元测试中模拟 __version__

python - 没有 errbacks 的 Twisted Deferred 错误如何通过试验进行测试?

c# - 如何使用 json-ajax 解析字典类型

c# - 获取应用程序的 NotifyIcon 矩形?

.net - Google Chrome 破坏了 ShellExecute()?

ios - Quartz Core 干扰正在运行的单元测试