我有一个应用程序发送消息的外部网络的服务。我建立和部署这种应用程序的使用 MSBuildCruisecontrol.NET.作为CCNET建立和部署程序也运行一套测试使用 .我现在想试验网业务通信。

我的想法是,作为建立过程的一部分网服务应该能产生的(基于外部网络服务WSDL),并部署到建立服务器的地方的网络服务器。所有网络服务应该做的是收到的消息,并将其置于文件的系统所以我然后可以检查它采用普通的关的例子。这也将使发展更容易作为新的开发商将仅需要运行建立脚本以及可以启动和运行(不必花费时间设立一个连接到第三方服务)。

是否有任何 现有的公用事业有 很容易模拟一个网服务基于一个WSDL?任何人 做了一些类似的使用MSBuild?

有没有 其他方式的测试这种情况?

有帮助吗?

解决方案

我刚开始寻找到 http://www.soapui.org/ 并且它似乎是它的工作很好地用于检测网服务。

此外,也许看看添加一个抽象层在你的网页服务,每个服务电话会直接打电话给一个可检验的方法(外部网的范围)?我只是这样做有一个更大的项目,我正在和它的可测性的工作很好。

其他提示

在一般情况下,一个非常好的方式来测试这样的事情是使用 模拟对象.

在工作中,我们使用的产品 TypeMock 测试的事情等网业务通信和其他外部的依赖关系。它花费资金,所以因为这个原因,它可能不适合于你的需求,但我认为这是一个很棒的产品。我可以告诉你,从个人的经验,它整合得非常好与关和CCNet.

它有一个非常简单的语法你基本上说:"当这种方法/酒店打电话,我想你回到这个的价值来代替。" 这是伟大的试验的事情等网络故障、文件不存在,当然,网络服务。

看看 NMock2.这是一个开放源码的嘲讽的产品,并允许您可以创建"虚拟"实现接口的支持,丰富而深刻的相互作用。

例如,如果你WS口是所谓 IService 和有一个 Data GetData() 方法,您可以创建一个模拟的需要的方法被称为一旦返回一个新的 Data 对象:

var testService = mockery.NewMock<IService>();
Expect
    .Once
    .On(testService)
    .Method("GetService")
    .WithNoArguments()
    .Will(
        Return.Value(new Data());

在试验结束,呼叫 mockery.VerifyAllExpectationsHaveBeenMet() 要保证 GetData 方法实际上是呼吁。

P.S.:不要混淆"NMock2"项目与"NMock RC2",也被称为"nmock2"在sourceforge.NMock2的项目似乎已经取代NMock.

这也可能是一些东西- 只知更鸟.看起来有用的。

在我工作的地方,我们使用 Typemock 为我们的单元的测试。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top