2014-10-08 163 views
0

我应该说我在C#的模拟框架世界相当新。我正在构建一个使用System.Net.HttpListener监听传入HTTP请求的小型服务,并希望通过注入该类的模拟实例来单元测试我的实现。所以我尝试使用Moq,但这当然要求模拟目标是一个接口,以便它可以提供存根实现。然后我尝试使用Microsoft Fakes,但它不会让我生成StubHttpListener。那么是否有其他方法来模拟System.Net.HttpListener的行为?单元测试与模拟HttpListener

回答

2

写一个包装HttpListener并提取从,那么你可以模拟接口/存根您的包装

1
  1. 创建自定义的接口包含使用的HttpListener
  2. 服务方法创建一个从HttpListener派生自己的类的类并使用HttpListener方法在服务类(使用的IoC或其它力学)从P.1调用
  3. 拉接口和映射依赖注入到自定义类从P.2
  4. 模拟定制interfa从P.1实现接口ce从p.1到单元测试服务