如何在 .NET 中测试基于流的 API

How to test stream-based API in .NET

我正在开发基于 TCP 的内部消息传递协议。一切正常,但我想对其添加测试。

可以用 MemoryStream 测试 serialization/deserialization,但我找不到一种方法来测试整个东西 - 使用连续的消息交换,因为 MemoryStream结束”阅读第一条消息后。

问题:在基础库或任何 nuget 包中是否有行为类似于 NetworkStream(双工,仅在另一端关闭时结束,无法查找)的流?

目前我可以启动 2 TcpClients 并使用它们,但我认为它对测试来说开销太大,尤其是当同时有数百个测试时 运行

这就是我一直在寻找的东西Nerdbank.Streams.FullDuplexStream