假设你有不同部件制成一个相当复杂的面向服务的架构。 组件写在不同的语言(Java,PHP和Ruby),并以不同的方式相互通信(即UI,REST API,在某些情况下,某些共享数据库表等)。
我想设计一些终端到终端的测试的集成测试框架。 我们已经为单一部件单元/集成测试,但我们想建立的东西,对其进行全面测试我们部署的系统(在实际环境中)的端至端,以确保功能(在个人的期望行为的条款成分)被正确地设置,并且该架构的配置是否正确,以及。
我现在面临的第一个问题是,我们大多数的用户界面是用PHP编写和UI集成测试已经与黄瓜和一对夫妇在上面的插件写它。 测试框架我正在写(在Java中)应触发这些功能测试和事后检查相关部件的行为预期。
很显然,我可以重写使用像硒一个Java友好组件的UI测试,但它没有意义的重复工作。
另一种解决方案是用在Java中一个exec()调用运行现有的测试,等他们回来,可能解析输出,并与其他动作/检查,需要做继续。
嵌入在Java现有的PHP代码似乎并没有给项目已被写入方式的可行的解决方案。
该解决方案中没有描述听起来似乎有理,给我。 理想情况下,这将是很好有一些种类多语言(和多技术)的集成框架,可以用不同语言编写相同的测试套件的测试中,并针对不同的环境/组件插件。
有谁知道一些工具或框架,该框架在这个方向? 如果不是,有什么可以是一个很好的方法来这样的问题?