背景:
公司 java JDK默认用的是1.8版本,已经在跑的一个项目使用的testng用的是6.14.3,我拿到后通过@Test 运行失败,因为这个是一直在用的项目,就没想到是版本兼容问题,折腾了好一阵(原开发者是通过.xml文件运行。。。)。
问题描述:
两个testng版本不兼容表现如下:
依赖=TestNG 7.9版本时,会报错:
bad class file: /C:/Users/xxxx/.m2/repository/org/testng/testng/7.9.0/testng-7.9.0.jar!/org/testng/annotations/Test.class
依赖=TestNG 6.14.3版本时,会报错:
org.testng.TestNGException: java.net.SocketTimeoutException: Read timed out
This error suggests an issue with XML file parsing, leading to a timeout exception.
解决方案:
可兼容依赖版本可为 TestNG7.0.0
修改后的依赖配置示例(Maven):
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.0.0</version>
</dependency>
Tip:
这种问题问AI还更容易被它列出的一大堆可能原因误导。。。很浪费时间验证,还不如通过错误文案去网上捞解决方案,大概率大家遇到是相同问题。