Connector/J 原始碼存放庫或隨附原始碼的套件包含廣泛的測試套件,其中包含可以獨立執行的測試案例。測試案例分為下列類別
單元測試:它們是位於與測試類別一致的套件中的方法。
功能測試:來自套件
testsuite.simple
的類別。包含 Connector/J 主要功能之測試程式碼。效能測試:來自套件
testsuite.perf
的類別。包含用於測量 Connector/J 效能的測試程式碼。迴歸測試:來自套件
testsuite.regression
的類別。包含用於測試錯誤和迴歸修正的程式碼。X DevAPI 和 X 協定測試:來自套件
testsuite.x
的類別,用於測試 X DevAPI 和 X 協定功能。
捆綁的 Ant 組建檔案包含類似 test
的目標,可以協助執行 Connector/J 測試的程序;如需詳細資訊,請參閱組建檔案中的目標說明。若要執行測試,除了滿足第 4.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;請參閱第 6.2 節,「連線 URL 語法」。com.mysql.cj.testsuite.url.openssl
:(僅適用於 8.0.26 和更早的版本)指定連線至使用 OpenSSL 編譯之 MySQL 測試伺服器的 JDBC URL;請參閱第 6.2 節,「連線 URL 語法」。com.mysql.cj.testsuite.mysqlx.url
:指定連線至 MySQL 測試伺服器的 X DevAPI URL;請參閱第 6.2 節,「連線 URL 語法」。com.mysql.cj.testsuite.mysqlx.url.openssl
:(僅適用於 8.0.26 和更早的版本)指定連線至使用 OpenSSL 編譯之 MySQL 測試伺服器的 X DevAPI URL;請參閱第 6.2 節,「連線 URL 語法」。
設定這些參數後,以下列方式使用 Ant 執行測試
-
使用
ant test
組建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 格式的完整報告。開啟 buildtest/junit/report/index.html
來檢視 HTML 報告。報告的 XML 版本位於資料夾 buildtest/junit
中。
從 Connector/J 5.1 升級至 8.0 及更新版本後,用於測試 Connector/J 的許多 Ant 屬性已重新命名或移除;如需詳細資訊,請參閱第 4.4.1.5 節,「測試屬性的變更」。