什么是testingWCF服务的最好方法?

我已经使用了微软随Visual Studio一起发布的工具,因为它很快速而且很脏

http://msdn.microsoft.com/en-us/library/bb552364.aspx

但它有点笨重,很难合作。 有没有其他有用的testing客户端,你使用,不需要创build一个新的Visual Studio项目和编译代码?

编辑:我正在寻找更多的graphicstesting工具,我可以用它来做不同的环境中的系统快速临时testing,而不必写一堆不同的testing。

SoapUI是另一种Web服务testing工具。 我强烈推荐它。

你不会find更好的工具来创buildWCF服务的自动化testing,而不是使用你最喜欢的unit testing框架和编写testing。 testing客户端,也不会soapUI将创build一个可以在持续集成scheme中运行的testing。

WCFStorm对于testing你描述的方式很有用。

那么我最终在MStesting中写unit testing。 在每次testing之前,服务由testing组件托pipe,并在之后进行剥离。 当然,这不是unit testing,所以纯粹主义者会不寒而栗,但这确实意味着我可以按照自己的喜好经常运行testing。

我并不是想暗示soapUI对于使用basicHttpBinding公开的WCF服务不起作用。 使用basicHttpBinding是可行的,因为这个服务将作为一个Legaxy ASMX web服务运行。 但是,如果要切换绑定(或使用多个绑定)到netTcpBinding例如,我不认为它仍然是可以使用soapUI调用该服务的方法。 我描述的场景是相当普遍的,其中您使用basicHttpBinding端点在Web上公开了WCF服务以实现最大的互操作性,另一个端点作为netTcpBinding(用于最大性能)仅在内部使用。

这个新的testing客户端叫做SOA Cleaner,我build议你试试看。 它支持WCF。 可以在http://xyrow.comfind。;

我运行了15天的WcfStorm,我对它印象深刻。 连接到服务,所有的方法都暴露。 点击一个方法,你可以build立多个testing用例。 完成之后,您可以保存这些testing(将我的解决scheme文件保存在服务中),当您进行更改时,您可以运行所有满足持续testing的testing。 它也有一个命令行,可以让你集成到你的编译机器中进行真正的连续testing。

它还支持IronPython,所以如果你使用这种脚本语言,你可以脚本删除你的testing添加的logging。

如果您需要testing客户端逻辑:您可以使用模拟/隔离框架来存储对服务器的实际调用,并使用unit testing框架编写适当的unit testing。

testing服务器逻辑可能会更容易 – 只需testing对业务逻辑的调用并将调用存根到外部组件(即数据库)。

unit testing客户端与服务器之间的完整交互没有实际好处,因为您知道WCF可以工作,而是在专用服务器/客户端上添加整个环境的集成testing。

惊人的WCFStorm,但我觉得对于独立开发者来说太贵了。

正如Darin所说,我也推荐soapUI。

但是有一个特殊情况,soapUI在WCF中使用REST时不支持JSON请求,并将请求作为POST消息发送。

在这种情况下,你可以使用我在这里find的工具:

WCF RESTful JSON自动化testing