共计 712 个字符,预计需要花费 2 分钟才能阅读完成。
指标
SQL 测试用例的代码位于 sharding-sql-test
模块下。该测试用例的作用次要有两个:
- 通过单元测试,测试通配符的替换以及
SQLCasesLoader
的稳定性。 - 将 SQL 测试用例中
resources
下定义的所有 SQL 共享给其余我的项目。
待测试的 SQL 寄存在 /sharding-sql-test/src/main/resources/sql/sharding/SQL-TYPE/*.xml
文件中。例如:
<sql-cases> | |
<sql-case id="select_constant_without_table" value="SELECT 1 as a" /> | |
<sql-case id="select_with_same_table_name_and_alias" value="SELECT t_order.* FROM t_order t_order WHERE user_id = ? AND order_id = ?" /> | |
<sql-case id="select_with_same_table_name_and_alias_column_with_owner" value="SELECT t_order.order_id,t_order.user_id,status FROM t_order t_order WHERE t_order.user_id = ? AND order_id = ?" db-types="MySQL,H2"/> | |
</sql-cases> |
开发者通过该文件指定待断言的 SQL 以及该 SQL 所适配的数据库类型。将 sharding-sql-test
提取为独自的模块,以保障每个 SQL 用例能够在不同模块的测试引擎中共享。
流程
如下图为 SQL 测试用例的数据流程:
正文完