首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >跨多个服务的自动化集成测试

跨多个服务的自动化集成测试
EN

Stack Overflow用户
提问于 2016-03-02 22:13:51
回答 1查看 384关注 0票数 0

我正在做一个项目,在这个项目中,我们让一个wiki平台与另一个平台的内容保持同步。我们这样做的方法是在数据流管道的“Wiki A”上编辑文档,该管道将数据从“Wiki A”的格式转换为“Wiki B”的格式,并将这些数据发送到“Wiki B”以供导入。

我有三个部件。

  • PHP中的“'Wiki”
  • 翻译服务,这是一个rails服务。
  • Java中的“'Wiki”

我想构建一个自动化的端到端测试框架,理想情况下应该能够测试以下内容:测试的主要需求是我的单元测试,因为每个产品都不能测试产品之间的通信,也不需要测试整个端到端数据流。

  1. 编辑“Wiki A”上的页面
  2. 测试它启动数据流
  3. 测试TranslationService转换数据
  4. 测试“Wiki B”导入转换后的数据

根据最初的研究,我的选择是像Selenium这样的记录工具。Selenium可以处理我想要测试的多个产品,但据我所见,测试是脆弱的。另一种选择是一些开发测试工具,比如Cucumber/Capybara,我可以用它编写健壮的测试,但我不确定它如何在多个产品体系结构中工作,每个产品架构都是用不同的语言编写的。

我是以正确的方式看它吗?我是否过于雄心勃勃,不愿尝试一个跨越多个产品的单一端到端测试框架?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-04 13:04:44

只要产品提供某种适当的接口,就可以编写以不同语言编写的多个产品的端到端测试。理想情况下,这是一些消息传递接口(例如,Http )。我建议直接使用Wiki界面,而不是通过浏览器访问UI。

我假设'Wiki A‘提供了这样一个添加和更改内容的接口。您的集成测试首先使用此接口来更改一些数据并触发整个过程。然后,您需要确保内容更改已被处理。您可以通过验证“Wiki B”中的更改来做到这一点。同样理想的是,“Wiki B”也提供了一些界面来获取一些内容。因此,您的测试应该只使用'Wiki A‘和'Wiki B’的消息传递接口。

代码语言:javascript
运行
复制
1) Trigger 'Wiki A' change
2) Verify content on 'Wiki B'

也许您需要在步骤1和步骤2之间等待一段时间才能进行翻译和导入。您可以使用象Citrus (http://citrusframework.org)这样的测试框架来编写这种完全自动化的集成测试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35759225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档