对通过NamedPipeServerStreams发布的对象进行单元测试的推荐方法是什么?
我的想法是在单元测试中使用NamedPipeClientStream,但测试最终会挂起;我怀疑这是因为他们都在同一个过程中。
答案 0 :(得分:3)
我会编写一个接口来抽象出难以测试命名管道的部分。
执行此操作相当简单(使用NamedPipe ... apis),我不会对其进行单元测试。
完成后,我使用应用程序代码中的接口。我在测试代码中有一个模拟实现,我会使用模拟对象在管道上做东西。
E.g。我的界面会有一个ClientConnected事件,暴露一些有关客户端的数据。
然后我在一个模拟对象中实现这个接口,并让它引发客户端连接事件,并声明应用程序在客户端连接时做了正确的事情。
HTH。