美文网首页
MySQL自动测试框架

MySQL自动测试框架

作者: 静若瑄 | 来源:发表于2019-03-05 17:51 被阅读0次

MySQL自动测试框架是一个以MySQL框架和内部引擎为测试对象的工具,主要执行脚本在发布路径的mysql-test目录下。自动测试框架的主要测试步骤,是通过执行一个case,将该case的输出结果,与标准的输出结果作diff。输入文件都在t目录下,输出文件在r目录下。对应的输入输出文件仅后缀名不同,分别为 *.test 和 *.result。

执行方式:在mysql-test/ 目录下执行 ./mtr testname,只需要指明测试case的前缀即可,当然也可以执行./mtr testname.test,效果相同。

批量执行命令的方式:

1、 ./mtr

该命令会执行所有的case。包括t/目录下所有以.test为后缀的文件,也包括 suits目录下的所有以.test为后缀的文件。

注意:只要任何一个case执行失败(包括内部执行失败和与result校验失败)都会导致整个执行计划退出。因此 --force 很常用,加入这个参数后,mtr会忽略错误并继续执行下一个case直到所有的case执行结束。

2、./mtr --suite=funcs_1

Suits目录下有多个目录,是一些测试的套餐。此命令单独执行 suits/funcs_1目录下的所有case。(其他目录不执行)

t/目录下的所有文件组成了默认的套餐main。 因此 ./mtr --suite=main则只执行t/*.test.

3、 ./mtr  --do-test=events

执行所有以 events为前缀的case(搜索范围为t/和所有的suite)。

–do-test的参数支持正则表达式,上述命令等效于./mtr --do-test=events.*

所以如果想测试所有的包括innodb的case,可以用 ./mtr --do-test=.*innodb.*

执行结果出错的处理办法:

1、执行case失败有很多种可能,比如中间执行了某个非法的语句,这个例子中的失败,指代的是执行结果与预期结果不同。

2、出错case的执行结果会保存在r/filename.reject中。如果filename.reject中的结果才是正确的结果,可以用filename.reject将filename.result覆盖掉,这样正确的标准测试case就完成了。

注:可以直接使用 ./mtr filename --record命令生成filename.result。

3、 注意mtr在作diff的时候是直接文本比较,因此如果case中出现了多次执行结果可能不同的情况(比如时间相关),这不是一个好的case。

注意事项:

默认情况下, r/testname.result中会包含原语句和执行结果,若不想输出原语句,需要在t/restname.test文件头使用 --disable_query_log。

官网链接:https://dev.mysql.com/doc/dev/mysql-server/latest/PAGE_MYSQL_TEST_RUN.html

文章来源参考链接:https://blog.csdn.net/iteye_621/article/details/81959655,如有侵权,请联系删除。

相关文章

  • MySQL自动测试框架

    MySQL自动测试框架是一个以MySQL框架和内部引擎为测试对象的工具,主要执行脚本在发布路径的mysql-tes...

  • 自动测试框架unittest

    版权所有,如需转载,请联系作者 一.基本测试结构 测试有两部分组成: 管理测试依赖库的代码 测试本身 单个测试通过...

  • Android自动测试框架Espresso

    不错的官方文档翻译(含作者见解)这篇文章翻译简直太棒了,本文的内容都来自对该文章所记录的笔记。Android自动化...

  • 树莓派自动化测试工具LTF

    自动测试框架(Linux-Test-Framework)让我们可以方便、快捷的对我们的树莓派进行性能测试,命令测试...

  • PHP自动测试框架Top 10

    转载自:慧都控件网 [http://www.evget.com] 对于很多PHP开发新手来说,测试自己编写的代码是...

  • 第一个Django App(五)

    自动测试介绍 什么是自动测试? 为什么需要创建自动测试? 1、测试会节省你的时间 2、测试不仅仅是定位问题,也阻止...

  • Node笔记 - Express

    二、 连接MySql安装mysql模块 npm install mysql 三、Express框架1.增加页面...

  • 安装持续集成工具Jenkins

    Jenkins是一个流行的持续集成框架,可以在我们提交项目的时候自动测试、运行和部署项目。虽然Jenkins使用J...

  • 树莓派4B性能测试

    本文是对树莓派进行性能、命令、语⾔、开发环境、⽂件系统测试教程。 0 感谢 感谢大佬L z编写的自动测试框架(Li...

  • 服务之路(一)

    连接mysql 使用koa框架,连接mysql,查询数据并通过接口返回

网友评论

      本文标题:MySQL自动测试框架

      本文链接:https://www.haomeiwen.com/subject/bpvouqtx.html