jdk版本升级对单元测试造成的影响

本文讲述了在升级JDK版本后,单元测试在Eclipse和Maven中产生不同结果的问题。经过排查,发现是由于JDK1.6.0_18对日期处理的改动,要求日期格式必须为4-2-2,导致测试失败。解决方案是统一JDK版本或调整日期格式为标准格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单元测试的时候遇到的一个问题

开始的时候这个单元测试在eclipse和mvn中都是跑不过的(原因数据库里插入了一个非空列),然后把这个修改好,问题就开始出现了。

在eclipse中跑出来的结果是非常振奋人心的


但是通过mvn test跑出来的结果确是:


遇到了这个问题,第一反应觉得是不是因为文件没保存或者因为eclipse中装了svn插件导致的文件不同步的问题。删除eclipse中的项目,重新clean install整个pivot,在mvn eclipse:eclipse,再导入eclipse,但是没有任何效果。

然后去仔细看了一下test的日志,发现其中有很多的Exception打出来了,觉得是不是这里出现问题了。

DEBUG util.SQLHelper - Could not retrieve the 'isAutoIncrement' property because not yet running on Java 1.5 - defaulting to NO. Table=CREDIT_CMT_APPLY, Column=IS_GUAR_VALID
java.sql.SQLException: ��Ч�������� 注:这里的意思大概意思就是SQl索引失效
	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
	at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:379)
	at org.dbunit.util.SQLHelper.createColumn(SQLHelper.java:348)
	at org.dbunit.database.DatabaseTableMetaData.getColumns(DatabaseTableMetaData.java:331)
	at org.dbunit.database.DatabaseTableMetaData.toString(DatabaseTableMetaData.java:402)
	at java.lang.String.valueOf(String.java:2826)
	at java.lang.StringBuffer.append(StringBuffer.java:219)

不过这个日志的级别是Debug,貌似不应该影响测试结果啊。不过还是去确定一下这个有没有影响比较好。然后找到日志打出的地方如下,发现这里只是去判断了一下jdk是1.5进行一些操作,不是也不会有什么影响。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值