单元测试命名管道

时间:2010-08-18 18:39:48

标签: c# unit-testing named-pipes

对通过NamedPipeServerStreams发布的对象进行单元测试的推荐方法是什么?

我的想法是在单元测试中使用NamedPipeClientStream,但测试最终会挂起;我怀疑这是因为他们都在同一个过程中。

1 个答案:

答案 0 :(得分:3)

我会编写一个接口来抽象出难以测试命名管道的部分。

执行此操作相当简单(使用NamedPipe ... apis),我不会对其进行单元测试。

完成后,我使用应用程序代码中的接口。我在测试代码中有一个模拟实现,我会使用模拟对象在管道上做东西。

E.g。我的界面会有一个ClientConnected事件,暴露一些有关客户端的数据。

然后我在一个模拟对象中实现这个接口,并让它引发客户端连接事件,并声明应用程序在客户端连接时做了正确的事情。

HTH。