如何在 .NET 中测试基于流的 API
How to test stream-based API in .NET
我正在开发基于 TCP 的内部消息传递协议。一切正常,但我想对其添加测试。
可以用 MemoryStream
测试 serialization/deserialization,但我找不到一种方法来测试整个东西 - 使用连续的消息交换,因为 MemoryStream
“结束”阅读第一条消息后。
问题:在基础库或任何 nuget 包中是否有行为类似于 NetworkStream
(双工,仅在另一端关闭时结束,无法查找)的流?
目前我可以启动 2 TcpClient
s 并使用它们,但我认为它对测试来说开销太大,尤其是当同时有数百个测试时 运行
这就是我一直在寻找的东西Nerdbank.Streams.FullDuplexStream
我正在开发基于 TCP 的内部消息传递协议。一切正常,但我想对其添加测试。
可以用 MemoryStream
测试 serialization/deserialization,但我找不到一种方法来测试整个东西 - 使用连续的消息交换,因为 MemoryStream
“结束”阅读第一条消息后。
问题:在基础库或任何 nuget 包中是否有行为类似于 NetworkStream
(双工,仅在另一端关闭时结束,无法查找)的流?
目前我可以启动 2 TcpClient
s 并使用它们,但我认为它对测试来说开销太大,尤其是当同时有数百个测试时 运行
这就是我一直在寻找的东西Nerdbank.Streams.FullDuplexStream