如何编写单元测试来测试UriTemplates(例如我的WCF服务中的[WebGet(Uritemlpate="{clientId}/returns")]
?
例如,在Global.asax中我有:
private void RegisterRoutes()
{
RouteTable.Routes.Add(new ServiceRoute("clients",
new WebServiceHostFactory(), typeof(ClientService)));
}
在ClientService中,我有[WebGet(Uritemlpate="uri_1")]
:
[ServiceContract]
public class ClientService
{
[WebGet(UriTemplate = "uri_1")]
public string GetCollection()
{
return "Method 1";
}
[WebGet(UriTemplate = "uri_2")]
public string GetCollections()
{
return "Method 2";
}
}
我想要一个测试,断言网址clients/uri_1
命中客户端的GetCollection方法。
答案 0 :(得分:0)
您可以Unit Test
方法GetCollection
和GetCollections
只需调用它们并检查返回值是否为空。
您实际想要做的是Integration Test
。这需要Web服务器的外部依赖性。在这里查看类型之间的差异
What is Unit test, Integration Test, Smoke test, Regression Test?
同时拥有两者是值得的。我们在自动提交代码时运行Unit Tests
,它们会自动部署到集成中。域,Integration Tests
然后针对此运行。