单元测试WCF REST服务

本文关键字:服务 REST WCF 单元测试 | 更新日期: 2023-09-27 18:07:01

我有一个WCF REST服务,我想进行单元测试。也就是说,我已经测试了所有的业务逻辑(层的完全分离),但想检查WCF服务是否与所有逻辑和真实的DB一起工作。

我找不到任何有用的信息。

每个方法看起来像这样:

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

。e -带有一个URI模板。否则,它就是一个正常的WCF服务。

在我写一个基于web的单元测试之前,帮助将是非常感激的:)

单元测试WCF REST服务

wait可以用于测试web应用程序-我认为它也可以用于REST服务。

Checkout http://www.castleproject.org/container/facilities/trunk/wcf/index.html

我去年在一个大型的WCF rest项目中使用了它,效果非常好。

不能再访问代码库了,但是单元测试也使用了castle windsor IoC,所以我可以运行所有的测试,没有外部依赖。

它们看起来像

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
调用。