【问题标题】:How to unit-test WCF UriTemplates?如何对 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 方法。

【问题讨论】:

    标签: asp.net wcf unit-testing url


    【解决方案1】:

    您可以 Unit Test 方法 GetCollectionGetCollections 只需调用它们并检查返回不为空。

    你真正想做的是Integration Test。这需要 Web 服务器的外部依赖。在这里查看类型之间的区别 What is Unit test, Integration Test, Smoke test, Regression Test?

    两者兼得是值得的。当我们自动提交代码时,我们运行Unit Tests,它们会自动部署到集成中。域,然后运行 ​​Integration Tests

    【讨论】:

      猜你喜欢
      • 2010-09-07
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-08
      • 2019-11-02
      • 1970-01-01
      相关资源
      最近更新 更多