Модульное тестирование WCF REST Services - PullRequest
3 голосов
/ 29 августа 2011

У меня есть служба WCF REST, которую я хотел бы протестировать. Т.е. я проверил всю бизнес-логику (полное разделение уровней), но хотел бы проверить, работает ли служба WCF, как требуется, со всей логикой и реальной БД.

Я не смог найти никакой полезной информации по этому вопросу.

Каждый метод выглядит так:

[WebGet(UriTemplate = "Version?ts={ts}", ResponseFormat = System.ServiceModel.Web.WebMessageFormat.Json)]
public WCF_Response GetVersion( string ts)
{
    return new ApiVersion { 
        version = VersionManager.CurrentVersion(),
    };
}

т.е. - с шаблоном URI. В противном случае это обычный сервис WCF.

Прежде чем я напишу модульное тестирование на основе веб-интерфейса, помощь будет высоко ценится:)

Ответы [ 2 ]

0 голосов
/ 29 августа 2011

Waitin может использоваться для тестирования веб-приложений - я предполагаю, что его можно использовать и для служб REST.

0 голосов
/ 29 августа 2011

Оформить заказ http://www.castleproject.org/container/facilities/trunk/wcf/index.html

Я использовал его в прошлом году в большом проекте отдыха WCF, и он отлично работал.

У меня больше нет доступа к кодовой базе, но в модульных тестах также использовался IoC Castle Windsor, поэтому я мог запускать все тесты без внешних зависимостей.

Они выглядели как

Component.For<IOrder>()
     .Named("order.service")
     .ImplementedBy<Order>()
    .ActAs(new RestServiceModel()
     {
      Endpoints = new IWcfEndpoint[] { WcfEndpoint.BoundTo(new WebHttpBinding() { TransferMode=TransferMode.Streamed, MaxBufferSize=int.MaxValue,MaxReceivedMessageSize=long.MaxValue }).At(OrderUrlBase) }
     })

Теперь служба размещена в модульном тесте (не в IIS) и может вызываться с помощью OrderUrlBase Url

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