在Nunit中运行RESTfull服务以进行集成测试



我正在。net中创建一个restful服务,其中我定义了一个带有WebGet和WebInvoke属性的接口,并将其作为WCF服务托管。为了使公司内部更容易地使用服务,我正在创建一个代理类,它实现服务接口,并使用服务上定义的REST接口执行restful请求和响应。

我想要能够做的是测试这个代理类以正确的方式通过HTTP命中服务实现。这将捕获它与代理之间的接口中的任何破坏性更改。我不知道该怎么做。我想我需要启动web服务,但我有点想象,我需要在一个web服务器上托管这个,如果是这样,我可以使用内存中的web服务器吗?我不认为我可以使用IIS express,因为我正在运行VS2008。一旦我让服务运行,我的代理应该能够很容易地与它交谈,只要我知道URI,对吗?

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

如果您将使用WCF Web API,那么您可以在单元测试中托管服务。我已经使用这种技术做了一些集成测试。我只建议使用WCF Web API,因为您正在谈论REST服务,而WCF Web API的开发正是为了使构建基于REST的服务变得更容易。如果你必须使用纯WCF和代理类(WCF Web API不需要代理),那么你可以忽略这个答案。

最新更新