java - 多语言集成测试框架

标签 java php testing integration-testing bdd

想象一下,您有一个由不同组件组成的相当复杂的面向服务的架构。组件以不同的语言(Java、PHP、Ruby)编写,并以不同的方式相互通信(即 UI、REST API,在某些情况下共享一些数据库表等)。

我正在尝试为一些端到端测试设计一个集成测试框架。 我们已经对单个组件进行了单元/集成测试,但我们希望构建一些端到端完全测试我们部署的系统(在真实环境中)的东西,以确保功能(根据个人的预期行为)组件)被正确提供并且架构也被正确配置。

我面临的第一个问题是我们的大部分 UI 都是用 PHP 编写的,并且 UI 集成测试已经用 Cucumber 和几个插件编写了。 我正在编写的测试框架(用 Java)应该触发这些功能测试,然后检查相关组件的行为是否符合预期。

显然,我可以使用 Selenium 等 Java 友好组件重写 UI 测试,但重复这些工作没有意义。

另一种解决方案是在 Java 中使用 exec() 调用运行现有测试,等待它们返回,可能会解析输出并继续执行需要完成的其他操作/检查。

鉴于项目的编写方式,将现有的 PHP 代码嵌入到 Java 中似乎不是一个可行的解决方案。

所描述的解决方案对我来说都没有说服力。理想情况下,最好有某种多语言(和多技术)集成框架,可以插入用不同语言和针对不同环境/组件编写的相同测试套件测试。

有人知道朝这个方向发展的工具或框架吗?如果不是,什么是解决此类问题的好方法?

最佳答案

不确定这是否有帮助,但也许可以看看 https://github.com/nablex/glue .这是我开发的一种脚本语言,专注于(集成)测试。

如果你插入,它支持开箱即用的 selenium 脚本 https://github.com/nablex/glue-selenese并且非常可扩展。

我目前在一个客户那里使用它,通过一些自定义扩展来运行用 fox pro 编写的遗留脚本(我实际上重新实现了 fox pro 方法...shiver)和遗留模式,所以它们是仅对旧脚本启用,对新脚本不启用。我还插入了自定义的基于 SOAP 的 Web 服务,其中一个可用于在远程系统上执行数据库调用,为我提供了广泛的集成级测试工具。

虽然脚本语言功能齐全,但我仍在充实默认情况下可用的方法纲要,并仍在尝试将其定位为集成测试工具。让我知道它是否有帮助,或者 - 如果没有 - 为什么它不能满足您的需求,总是对反馈感到满意! :)

PS:“Main”类是启动和运行它的好地方,因为它包含一个工作的 CLI 客户端(支持断点!)

关于java - 多语言集成测试框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15499746/

相关文章:

java - 使用文本数据保存表情符号时收到错误消息

R ggplot2 : boxplots with significance level (more than 2 groups: kruskal. 测试和 wilcox.test 成对)和多个方面

在 iOS chrome 上调试网站

java - Solr 字符串文字排序 - PatternReplaceFilterFactory

java - Spring Security 自定义身份验证 - AuthenticationProvider 与 UserDetailsS​​ervice

java - 异步 EJB 3.1 方法和事务

php - 发送到 $_POST 的 Jquery var 未完成查询,返回错误

php - 根据 PHP 列值登录用户重定向

javascript - 无法使用 Jquery 和 Jsoup 访问动态生成的元素

javascript - sahi - 动态表