Connector/J 源代码存储库或随源代码一起提供的包包括一个广泛的测试套件,其中包含可以独立执行的测试用例。测试用例分为以下几类:
单元测试:它们是位于包中的方法,与它们测试的类保持一致。
功能测试:包中的类
testsuite.simple
。包括 Connector/J 主要功能的测试代码。性能测试:包中的类
testsuite.perf
。包括测试代码以测量 Connector/J 的性能。回归测试:包中的类
testsuite.regression
。包括用于测试错误和回归修复的代码。X DevAPI 和 X 协议测试:
testsuite.x
用于测试 X DevAPI 和 X 协议功能 的包
捆绑的 Ant 构建文件包含诸如 之类的目标
test
,可以促进运行 Connector/J 测试的过程;有关详细信息,请参阅构建文件中的目标描述。要运行测试,除了满足
第 3.3.3 节“从源代码安装”build.properties
中描述的要求外,您还必须在文件中或通过 Ant
-D
选项
设置以下属性
:
com.mysql.cj.testsuite.jvm
:用于测试的 JVM。com.mysql.cj.build.jdk
如果未设置该属性,将使用 随附的 JVM 。com.mysql.cj.testsuite.url
:它指定用于连接到 MySQL 测试服务器的 JDBC URL;参见 第 3.5.2 节,“连接 URL 语法”。com.mysql.cj.testsuite.url.openssl
:(仅适用于 8.0.26 及更早版本)它指定用于连接到使用 OpenSSL 编译的 MySQL 测试服务器的 JDBC URL;参见 第 3.5.2 节,“连接 URL 语法”。com.mysql.cj.testsuite.mysqlx.url
:它指定用于连接到 MySQL 测试服务器的 X DevAPI URL;参见 第 3.5.2 节,“连接 URL 语法”。com.mysql.cj.testsuite.mysqlx.url.openssl
:(仅适用于 8.0.26 及更早版本)它指定 X DevAPI URL 以连接到使用 OpenSSL 编译的 MySQL 测试服务器;参见 第 3.5.2 节,“连接 URL 语法”。
设置好这些参数后,按以下方式使用 Ant 运行测试:
构建
test
目标ant test
默认情况下在单个服务器实例上运行所有测试用例。如果要运行特定的测试用例,请将测试的完全限定类名放入com.mysql.cj.testsuite.test.class
变量中;例如:shell > ant -Dcom.mysql.cj.testsuite.test.class=testsuite.simple.StringUtilsTest test
您还可以通过在变量中指定相应方法的名称来运行测试用例中的单个测试
com.mysql.cj.testsuite.test.methods
,多个方法用逗号分隔;例如:shell > ant -Dcom.mysql.cj.testsuite.test.class=testsuite.simple.StringUtilsTest \ -Dcom.mysql.cj.testsuite.test.methods=testIndexOfIgnoreCase,testGetBytes test
虽然控制台报告了部分测试结果,但提供了 HTML 和 XML 格式的完整报告。通过打开查看 HTML 报告
buildtest/junit/report/index.html
。XML 版本的报告位于文件夹中
buildtest/junit
。
从 Connector/J 5.1 到 8.0,许多用于测试 Connector/J 的 Ant 属性已被重命名或删除;有关详细信息,请参阅第 3.3.4.1.5 节,“更改测试属性” 。