MatrixOne 从入门到实践 07——MO-Tester
MatrixOne 从入门到实践——MO-Tester
从 0.5.0 版本开始,MatrixOne 引入了一个自动测试框架 MO-Tester。
MO-Tester 测试框架,也可以称作为测试器,是通过 SQL 测试 MatrixOne 或其他数据库功能的。
简介
MO-Tester 是基于 Java 语言进行开发,用于 MatrixOne 的测试套件。MO-Tester 构建了一整套完整的工具链来进行 SQL 自动测试。它包含测试用例和运行结果。MO-Tester 启动后,MO-Tester 将使用 MatrixOne 运行所有 SQL 测试用例,并将所有输出 SQL 测试结果与预期结果进行比较。所有案例的结果无论成功或者失败,都将记录在报告中。
MO-Tester 相关用例、结果和报告的链接如下:
Cases: https://github.com/matrixorigin/mo-tester/tree/main/cases
Result: https://github.com/matrixorigin/mo-tester/tree/main/result
Report: 运行结束后,本地目录自动生成
mo-tester/report
。
测试用例和测试结果一一对应。如需添加新的测试用例和测试结果请进入右侧所示 MatrixOne 仓库路径中进行添加:https://github.com/matrixorigin/matrixone/tree/main/test
MO-Tester 测试用例如下表所示:
使用 MO-Tester
环境准备
安装 jdk 8
启动 MatrixOne
请参考MatrixOne部署
克隆 MO-Tester 仓库
配置 MO-Tester
MO-tester 基于 Java 语言进行开发,因此 Mo-tester 所依赖的 Java 数据库连接(JDBC,Java Database Connectivity) 驱动程序需要配置 mo.yml 文件里的参数信息:进入到 mo-tester 本地仓库,打开 mo.yml 文件,配置服务器地址、默认的数据库名称、用户名和密码等。
以下是本地独立版本 MatrixOne 的默认示例。
运行 MO-Tester
运行以下所示命令行,SQL 所有测试用例将自动运行,并将报告和错误消息生成至 report/report.txt 和 report/error.txt 文件中。
如果你想调整测试范围,你可以修改 run.yml
文件中的 path
参数。或者,在执行 run.sh
命令时,你也可以指定一些参数,参数解释如下:
run.yml:
示例:
使用 MO-Tester 完成 TPCH
注意: 这里的 tpch 只是一个测试用例,仅用来测试数据库能够跑通 tpch 的 22 条查询语句,包含的数据条数较少。
获取 MatrixOne 源码
复制 test 目录到 MO-Tester
同理,将 MatrixOne 源码目录中 test 下的 result 也复制过来
运行 MO-Tester 进行 TPCH 测试
最终结果显示:
我们可以看一下 report.txt 观察测试用例结果
同理,我们如果需要执行其他的测试用例,只需要将对应的 cases 复制过来,运行时指定对应的路径即可
版权声明: 本文为 InfoQ 作者【MatrixOrigin】的原创文章。
原文链接:【http://xie.infoq.cn/article/8e48b171301f0619db0c9c228】。文章转载请联系作者。
评论