我有一个相当奇怪的问题。我有一些单元测试旨在测试我正在进行的某些TCP通信中抛出的异常。单独地,所有测试都有效。但是,如果我尝试按顺序运行它们,则第一个通过并且所有剩余的测试都会失败。我不确定为什么会这样。我每次在[TestInitialize]中创建一个新套接字。我想也许听众只是悬挂,所以我在10秒的测试2开始时等待它仍然失败。但是,当我运行测试一个,然后单独测试两个(相隔大约1秒)时,一切正常。
知道可能导致这种情况的原因是什么?我的预感是整个测试结束时清除了监听端口,所以当我依次运行它时,我无法将新套接字重新绑定到该端口。
“通常只允许使用每个套接字地址(协议/网络地址/端口)”
答案 0 :(得分:0)
我弄明白了这个错误。我一直在创建套接字并将其绑定在TestInitialize属性下。我需要做的是使套接字在ClassInitialize属性下,所以它始终存在。然后我在TestInitialize区域打开我的阅读线程。