Connector/J源代码存储库或随源代码一起提供的包包括一个广泛的测试套件,其中包含可以独立执行的测试用例。测试用例分为以下几类:
功能或单元测试:包中的类。
testsuite.simple
.包括Connector/J主要特性的测试代码。性能测试:包中的类。
testsuite.perf
.包括测试代码,以测量Connector/J的性能。回归测试:包中的类。
testsuite.regression
.包括用于测试bug和回归修复的代码。
绑定的Ant构建文件包含如下目标测验
而且test-multijvm
,它可以促进运行Connector/J测试的过程;有关详细信息,请参阅构建文件中的目标描述。除了从中描述的源代码构建Connector/J的要求之外第3.4节,“从源代码安装”,许多测试还需要Java命名和目录接口(JNDI)的文件系统服务提供程序1.2,可在http://www.oracle.com/technetwork/java/javasebusiness/10bet手机中文版downloads/java-archive-downloads-java-plat-419418.html) -将从那里下载的jar文件放入自由
目录或属性所指向的目录中com.mysql.jdbc.extra.libs
.
要使用Ant运行测试,除了所需的属性之外第3.4节,“从源代码安装”中设置以下属性的build . properties
文件或通过Ant- d
选项:
com.mysql.jdbc.testsuite.url
:指定连接到MySQL测试服务器的JDBC URL;看到第5.3节,“连接器/J的配置属性”.com.mysql.jdbc.testsuite.jvm
:要用于测试的JVM。如果设置了该属性,则指定的JVM将用于所有测试用例,除非它指向Java 5目录,在这种情况下,JDBC 4.0及以后的任何测试用例都将使用该属性提供的JVM运行com.mysql.jdbc.jdk8
(适用于5.1.36及以前版本,随物业提供com.mysql.jdbc.jdk6
).如果未设置该属性,则提供的JVMcom.mysql.jdbc.jdk5
将用于运行JDBC 3.0的测试用例,而随com.mysql.jdbc.jdk8
(适用于5.1.36及以前版本,随物业提供com.mysql.jdbc.jdk6
)将用于运行JDBC 4.0及以后版本的测试用例。
设置完这些参数后,用Ant以以下方式运行测试:
构建
测验
目标与蚂蚁测试
默认情况下在单个服务器实例上运行所有测试用例。如果您想运行一个特定的测试用例,请将测试的完全限定类名放在测验
变量;例如:shell > ant -Dtest=testsuite.simple。StringUtilsTest测试
中指定相应方法的名称,还可以在测试用例中运行单个测试
方法
变量,用逗号分隔多个方法;例如:shell > ant -Dtest=testsuite.simple。StringUtilsTest -Dmethods=testIndexOfIgnoreCase,testGetBytes测试
构建
test-multijvm
目标与蚂蚁test-multijvm
在多个服务器实例上使用不同版本的多个jvm运行所有测试用例。例如,如果希望在三个配置不同的服务器实例上使用Java 7和Java 8 JVM运行测试,则需要使用以下属性:com.mysql.jdbc.testsuite.jvm。1=path_to_Java_7 com.mysql.jdbc.testsuite.jvm.2=path_to_Java_8 com.mysql.jdbc.testsuite.url.1=URL_to_1st_server com.mysql.jdbc.testsuite.url.2=URL_to_2nd_server com.mysql.jdbc.testsuite.url.3=URL_to_3rd_server
与目标不同
测验
,目标test-multijvm
只识别属性com.mysql.jdbc.testsuite.jvm。
而且N
com.mysql.jdbc.testsuite.url。
,在那里N
N
一个数字就足够了;没有充分条件的相同属性将被忽略test-multijvm
.和目标一样测验
,如果有任何com.mysql.jdbc.testsuite.jvm。
settings指向Java 5,然后Ant依赖于该属性N
com.mysql.jdbc.jdk8
以运行特定于JDBC 4.0及以后版本的测试。方法,可以选择运行单个测试用例或特定测试
测验
或方法
属性,如目标的最后一个项目说明的那样测验
.每个测试对jvm和服务器实例的可能组合运行一次(在本例中,总共运行6次)。当某个jvm -服务器组合的测试失败时,
test-multijvm
不抛出错误,而是继续进行下一个组合,直到完成所有组合的所有测试。
虽然测试结果由控制台部分报告,但提供了HTML和XML格式的完整报告:
有关的结果
测验
:通过打开查看HTML报告构建/ junit / unitregress /报告/ index . html
.报告的XML版本位于该文件夹中建立/ junit / unitregress
.有关的结果
test-multijvm
:通过打开查看每个jvm -服务器组合的HTML报告建立/ junit / MySQL
.报告的XML版本位于该文件夹中N
.server_version
/operating_system_version
/jvm版本
/ unitregress /报告/ index . html建立/ junit / MySQL
.N
.server_version
/operating_system_version
/jvm版本
/ unitregress