java - 针对多个 Java 版本进行测试的最佳方法

标签 java unit-testing automated-tests testng integration-testing

我有多个单元测试和组件测试,我想针对多个 Java 版本(1.6、1.7、1.8 等)进行测试。

我想知道最好的方法是什么?

我是否应该使用 Jenkins 多次运行测试,并且每次都将 JAVA_HOME 变量的路径更改为不同的 JRE?

我可以使用 Maven 插件吗?也许不同的配置文件?

另外,有没有办法使用TestNG来排除基于JRE版本的测试?我可以在 java.version 系统属性上使用 if 语句来处理它,但是我想知道是否有更优雅的方法。

如果这会影响答案,我想提一下,我想针对多种操作系统类型和产品的多个版本对其进行测试(针对 v1.0、v2.0 等进行相同的测试)。

最佳答案

要在不同条件下运行相同的代码,jenkins 可以简单地使用不同的 JAVA_HOME 或其他设置运行相同的脚本。在不同的触发器上或作为一个多阶段工作的一部分执行此操作由您决定

关于TestNG,看这个答案How to disable testng test based on a condition

关于java - 针对多个 Java 版本进行测试的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34307689/

相关文章:

java - Minecraft Bukkit 插件抛出语法错误

java - Spark-通过java代码提交

python - 当单元测试请求到内置Python的Docker容器时,连接中止

java - 在网页中找不到定位器(Xpath,Css)

testing - TestNG - 是否可以将 AnnotationTransformer 与 dataProvider 一起使用?

java - HTTP 错误代码,导致 IOException - 如何访问响应?

java - lwuit.html.CSSEngine.applyStyleToUIElement 的 NullPointerException(未知来源)

c# - 使方法虚拟化有什么危险?

node.js - 使用 Mocha 进行测试之前清除集合

java - ANT 构建失败并在 html 报告中给出 classNotFoundException