C# 单元测试WCF REST服务

C# 单元测试WCF REST服务,c#,wcf,visual-studio-2010,C#,Wcf,Visual Studio 2010,我有一个WCF REST服务,我想进行单元测试。i、 e-我已经测试了所有的业务逻辑(完全分层),但是我想检查WCF服务是否能够按照需要使用所有的逻辑和真实的数据库 我找不到任何有用的信息 每个方法如下所示: [WebGet(UriTemplate = "Version?ts={ts}", ResponseFormat = System.ServiceModel.Web.WebMessageFormat.Json)] public WCF_Response GetVersion( string

我有一个WCF REST服务,我想进行单元测试。i、 e-我已经测试了所有的业务逻辑(完全分层),但是我想检查WCF服务是否能够按照需要使用所有的逻辑和真实的数据库

我找不到任何有用的信息

每个方法如下所示:

[WebGet(UriTemplate = "Version?ts={ts}", ResponseFormat = System.ServiceModel.Web.WebMessageFormat.Json)]
public WCF_Response GetVersion( string ts)
{
    return new ApiVersion { 
        version = VersionManager.CurrentVersion(),
    };
}
i、 e-使用URI模板。否则,这是一个正常的WCF服务

在我编写基于web的单元测试之前,非常感谢您的帮助:)

签出

去年我在一个大型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) }
     })
Component.For()
.命名(“订单.服务”)
.由()实施
.ActAs(新的RestServiceModel()
{
Endpoints=new IWCFindEndpoint[]{WcfEndpoint.BoundTo(new WebHttpBinding(){TransferMode=TransferMode.Streamed,MaxBufferSize=int.MaxValue,MaxReceivedMessageSize=long.MaxValue}).At(OrderUrlBase)}
})

现在该服务由单元测试托管(不在IIS中),可以使用OrderUrlBase Url调用。

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

很酷的工具。不仅在这个项目中会有帮助:)不是
Waitin
用于UI测试自动化吗?问题在于单元测试,不是吗?附言:我会收回我的评论。我的错,我只看标题。看起来roman还是想要一个集成测试。无意冒犯:)谢谢。我觉得这可能有点过分了。。。虽然不确定,但wcf功能使wcf更受欢迎-客户端和服务器