WCF REST服务的单元测试

3

我有一个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服务。
在编写基于Web的单元测试之前,需要帮助,感激不尽 :)
2个回答

0

结帐 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进行调用。


1
谢谢。我觉得这可能有点过度杀伐了……虽然不确定。 - Roman
WCF 设施使 WCF(Windows Communication Foundation)客户端和服务器更加易于使用。 - user156888

0

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


酷工具。不仅会对这个项目有帮助 :) - Roman
不是在等待UI测试自动化吗?问题应该是关于单元测试,不是吗?附言:我会收回我的评论。我的错,我只看了标题。看起来Roman想要一项集成测试。无意冒犯 :) - Ε Г И І И О

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接