如何对 WCF UriTemplates 进行单元测试?
Posted
技术标签:
【中文标题】如何对 WCF UriTemplates 进行单元测试?【英文标题】:How to unit-test WCF UriTemplates? 【发布时间】:2011-05-31 15:38:16 【问题描述】:如何编写单元测试来测试 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";
我想要一个测试,断言 url clients/uri_1
恰好命中 ClientService 的 GetCollection 方法。
【问题讨论】:
【参考方案1】:您可以 Unit Test
方法 GetCollection
和 GetCollections
只需调用它们并检查返回不为空。
你真正想做的是Integration Test
。这需要 Web 服务器的外部依赖。在这里查看类型之间的区别
What is Unit test, Integration Test, Smoke test, Regression Test?
两者兼得是值得的。当我们自动提交代码时,我们运行Unit Tests
,它们会自动部署到集成中。域,然后运行 Integration Tests
。
【讨论】:
以上是关于如何对 WCF UriTemplates 进行单元测试?的主要内容,如果未能解决你的问题,请参考以下文章