C#TCP单元测试SocketException无法运行所有测试

时间:2014-10-24 14:37:12

标签: c# sockets unit-testing tcp-ip

我有一个相当奇怪的问题。我有一些单元测试旨在测试我正在进行的某些TCP通信中抛出的异常。单独地,所有测试都有效。但是,如果我尝试按顺序运行它们,则第一个通过并且所有剩余的测试都会失败。我不确定为什么会这样。我每次在[TestInitialize]中创建一个新套接字。我想也许听众只是悬挂,所以我在10秒的测试2开始时等待它仍然失败。但是,当我运行测试一个,然后单独测试两个(相隔大约1秒)时,一切正常。

知道可能导致这种情况的原因是什么?我的预感是整个测试结束时清除了监听端口,所以当我依次运行它时,我无法将新套接字重新绑定到该端口。

“通常只允许使用每个套接字地址(协议/网络地址/端口)”

1 个答案:

答案 0 :(得分:0)

我弄明白了这个错误。我一直在创建套接字并将其绑定在TestInitialize属性下。我需要做的是使套接字在ClassInitialize属性下,所以它始终存在。然后我在TestInitialize区域打开我的阅读线程。