Как выполнить модульное тестирование WCF UriTemplates? - PullRequest
3 голосов
/ 28 декабря 2010

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

Например, в 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.

1 Ответ

0 голосов
/ 08 июня 2011

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

То, что вы на самом деле хотите сделать, это Integration Test. Это требует внешней зависимости веб-сервера. Проверьте разницу между типами здесь Что такое юнит-тест, интеграционный тест, дымовой тест, регрессионный тест?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...