Web方法在流服务中嘲笑

时间:2016-05-11 17:12:14

标签: unit-testing testing mocking esb webmethods

在webmethods(Software AG)中,有没有办法在单元测试期间模拟对象? 或任何可用于测试流服务的工具。

4 个答案:

答案 0 :(得分:3)

您可以查看开源SO question测试框架,该框架允许进行一般模拟和单元测试以及许多其他功能。该框架允许您:

  • 创建IS服务模拟
  • 将条件应用于模拟,以便它们仅在管道内容满足该条件时执行
  • 根据条件或代替服务提出例外
  • 在调用服务之前或之后将管道捕获到文件
  • 修改或将内容插入管道
  • 如果没有条件符合
  • ,则为默认情况下的模拟服务设置一系列条件
  • 创建可在服务之前或之后应用的断言,以便可以证明服务已被执行。断言还可以有条件来验证管道是否具有预期的内容。
  • 每次调用
  • 时,将随机或有序内容从模拟返回到其输出
  • 使用RESTful调用创建模拟,以便您可以使用其他测试工具(如SOAPui)将其作为集成测试的一部分进行创建
  • 在Designer中使用JBehave功能进行行为驱动单元测试,并使用内置的JUnit执行测试。

答案 1 :(得分:1)

WmTestSuite 可能是一个很好的工具(为什么重新发明轮子),贵公司选择webMethods加速开发,我建议你继续前进。

wmTestSuite的作用:

  • 以图形方式为您在Designer中的流程创建单元测试
  • 生成相关的TestUnit类(您可以完成它以添加一些断言)
  • 添加一个钩子集成服务器以“注册”数据以创建测试数据
  • 模拟端点以简化测试(db,ws ...)

我从SoftwareAG那里得到了这张幻灯片。从版本9。10(2016年4月),您应该可以从授权下载它。 enter image description here

答案 2 :(得分:1)

您无法直接在webMethods中定义模拟,因为它需要您挂钩到调用链。这是在每个流或java服务调用之间调用的一组方法。他们负责访问控制,输入/输出验证,更新统计,审计等工作。

有各种各样的工具和产品可以利用这种内部机制,让您为您的单元或系统测试用例创建模拟(或存根):

  • IwTest,商业,来自IntegrationWise
  • WmTestSuite,商业版,来自SoftwareAG
  • CATE,商业,来自Cloudgensys
  • WmAOP,开源,www.wmaop.org

通过这四种方法,您可以为webMethods flow / java服务创建测试用例,并为访问外部系统的服务定义模拟。所有这四种方法都提供了定义结果应该满足的断言的方法。

到目前为止,最容易使用的是IwTest,因为它可以让您生成测试套件,包括模拟(或存根),基于它为您记录的输入/输出管道。除此之外,它还支持pub / sub(异步)场景。

答案 3 :(得分:0)

向您的Software AG联系,询问有关webMethods Test Suite(WmTestSuite)的信息,该套件可插入基于Eclipse的Designer并提供基本的单元测试功能。

Mocks本身是轻量级服务,可以在WmTestSuite对话框中配置(测试)输入和(预期)输出管道。