2011-12-19 130 views
0

我在.NET中创建了一个宁静的服务,我定义了一个用WebGet和WebInvoke属性装饰的接口,并将它作为WCF服务托管。为了让内部公司更容易地使用服务,我创建了一个Proxy类,它实现了服务接口,并使用服务上定义的REST接口执行安静的请求和响应。在Nunit中运行RESTfull服务进行集成测试

我想要做的就是测试这个代理类是否以正确的方式通过HTTP访问服务实现。这将是捕捉它与代理之间的界面的任何重大更改。我不知道该怎么做。我认为我需要启动web服务,但我想象我需要在web服务器上托管这个服务器,如果有的话,是否有一个内存web服务器可以使用。我不认为我可以使用IIS Express,因为我正在运行VS2008。一旦我有服务运行我的代理应该能够很容易地谈到它,只要我知道URI,对吧?

或者还有另一种方法可以测试我的代理实现吗?

回答

0

如果您使用WCF Web API,那么您可以将服务托管在单元测试中。我使用这种技术做了很少的集成测试。我只建议WCF Web API,因为您正在讨论REST服务,并且WCF Web API的开发正是为了更容易地构建基于REST的服务。如果您必须将纯WCF与代理类一起使用(WCF Web API不需要使用代理),那么您可以忽略此答案。