我有一个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的单元测试之前,帮助将是非常感激的:)
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