【发布时间】:2013-03-08 03:25:12
【问题描述】:
想象一下,您有一个由不同组件组成的相当复杂的面向服务的架构。组件用不同的语言(Java、PHP、Ruby)编写,并以不同的方式相互通信(即 UI、REST API,在某些情况下共享一些数据库表等)。
我正在尝试为一些端到端测试设计一个集成测试框架。 我们已经对单个组件进行了单元/集成测试,但是我们希望构建一些东西来对我们部署的系统(在真实环境中)进行端到端的全面测试,以确保功能(就个人的预期行为而言)组件)正确提供并且架构也正确配置。
我面临的第一个问题是我们的大部分 UI 都是用 PHP 编写的,并且 UI 集成测试已经用 Cucumber 和几个插件编写了。 我正在编写的测试框架(用 Java 编写)应该会触发这些功能测试,然后检查相关组件的行为是否符合预期。
显然,我可以使用 Selenium 等对 Java 友好的组件重写 UI 测试,但重复这些工作没有意义。
另一种解决方案是在 Java 中使用 exec() 调用运行现有测试,等待它们返回,可能解析输出并继续需要完成的其他操作/检查。
考虑到项目的编写方式,在 Java 中嵌入现有的 PHP 代码似乎不是一个可行的解决方案。
所描述的解决方案都没有让我信服。理想情况下,最好有某种多语言(和多技术)集成框架,该框架可以插入到用不同语言和针对不同环境/组件编写的相同测试套件测试中。
有人知道朝这个方向发展的一些工具或框架吗?如果没有,有什么好的方法可以解决这类问题?
【问题讨论】:
-
您好,我也有类似的需求。您是否找到了解决此问题的有效方法?谢谢!
标签: java php testing integration-testing bdd