2010-12-28 4 views
3

Как написать модульный тест для тестирования UriTemplates (например, [WebGet(Uritemlpate="{clientId}/returns")] в моих WCF услугКак тестировать WCF UriTemplates?

Например, в 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 хиты именно метод GetCollection из ClientService

ответ

0

Вы можете Unit Test методы GetCollection и GetCollections, просто позвонив им, и проверка возврата не равна нулю.

Что вы на самом деле хотите сделать, это Integration Test. Для этого требуется внешняя зависимость веб-сервера. Ознакомьтесь с разницей между типами здесь What is Unit test, Integration Test, Smoke test, Regression Test?

Стоит иметь оба. Мы запускаем Unit Tests, когда мы фиксируем код автоматически, это они автоматически развертываются для интеграции. домена, то Integration Tests затем выполняются против этого.