龍馬精神 发表于 2023-8-20 13:09:21

linux环境编程(1): 实现一个单元测试框架-2

正片开始

在之前的文章中, 介绍了如何实现一个类似gtest的单元测试框架, 完整的项目代码可以参考这里: https://github.com/kfggww/cutest . 近期对cutest的实现做了一些修改, 包括:

[*]Test Suite的声明宏, 修改为TEST_SUITE
[*]增加Test Suite的声明宏TEST_SUITE_WITH. 可传递Suite的init和cleanup函数, 在Suite中每个Case运行之前和之后分别被调用, 用于公共资源的初始化和回收.
[*]Test Case的定义宏, 修改为TEST_CASE
[*]增加Test Suite和Test Case的过滤功能. 通过命令行参数, 过滤出要运行哪些测试
[*]优化测试报告输出
[*]增加json格式的测试结果输出
[*]移除各种ASSERT
[*]修改Test Case返回测试结果的方式. Case中需返回TEST_PASS/TEST_FAIL/TEST_IGNORE, 标记测试结果
[*]上传至Ubuntu PPA, 方便安装使用
对于Test Suite以及Test Case如何注册到cutest之中, 实现原理还是使用"constructor"属性函数, TEST_SUITE/TEST_CASE宏会拼接出函数实现, 在程序运行时, 在main函数调用之前, 这些"constructor"函数被调用, 完成Suite以及Case的注册. 具体实现可参考代码片段, 或者上一篇文章中的介绍.
详细信息看下面的视频吧:
结尾彩蛋

更多linux平台技术研究和讨论, 可以进入我的qq群: 838923389

来源:https://www.cnblogs.com/kfggww/p/17643674.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: linux环境编程(1): 实现一个单元测试框架-2