Score
0
Watch 22 Star 43 Fork 8

D_C_P / Mini_CUnitTestC

Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
Clone or download
README.md 4.05 KB
Copy Edit Web IDE Raw Blame History
D_C_P authored 2017-06-30 17:58 . 更新 README.md

Mini CUnitTest

简介

mini单元测试框架主要用于C语言单元测试

  • 便捷性 :本框架主要关联文件只有一个TEST.c所以文件更加轻便,搭建框架更加快速
  • 多功能 :且支持功能繁多,可以测试函数性能,展示覆盖率,对于内存泄漏也有侦查
  • 易展示 :分析结果是基于网页展示,相对于其他的的单元测试框架,这个更加直观,也易于理解
  • 易使用 :使用便捷, UnitTest.py文件放入到待测试源码的下,简单的设置就可以完成

功能

  • 支持侦查测试的模块是否出现内存泄漏,并展示出来(仅支持linux,不支持mac)
  • 支持编译时候段错误侦查定位
  • 每个suite展示基本的 测试数 测试错误数,测试的时间
  • 每个suite里展示成功或者失败的结果 以及出错时候出错的所在case
  • 支持展示覆盖率 语句覆盖率 分支覆盖率 条件覆盖率 函数覆盖率
  • 支持通过代码形式查看覆盖率已经函数调用次数等
  • 支持函数性能,包括函数执行所需时间,函数被调用次数等性能(仅支持linux)
  • 支持环境 linux 嵌入式 mac(mac函数性能的功能和内存泄漏功能仍暂未支持)

UintTest.py命令

  • -h 展示所有支持的命令
    [例子: python UnitTest.py -h ]
  • -a 配置好UnitTest.py后,自动编译出test文件 [例子: python UnitTest.py -a ]
  • -e 配置好UnitTest.py后,编译出ResultsFile文件,然后将UnitTest.py 和 ResultsFile 放入到嵌入式系统中执行 [例子: python UnitTest.py -e ResultsFile ]
  • -m 配置好UnitTest.py后,使用Makefile编译出ResultsFile文件 然后执行UnitTest.py
    [例子: python UnitTest.py -m Makefile ResultsFile ]

展示

测试报告页面

image

覆盖率页面

image

函数性能页面

image

使用方法

文件目录关系图

image

1.关联TEST.c文件

  • 使用-e -m 模式时候 将TEST.c文件关联到makefile里面

2.使用TEST.c的测试套件搭建测试用例

3.放置UnitTest.py

  • 将UnitTest.py放在测试模块目录下

4.配置UnitTest.py

  • 将 UnitPath="./" 修改为单元测试目录所在路径 [例如:UnitPath="/中间目录/src/ 以/结尾"]
  • 将 FilePath="./" 修改为待测试文件目录所在路径 [例如:UnitPath="/中间目录/xxx/ 以/结尾"]

5.配置UnitTest.py

  • -a模式 这个模式自动进行gcc编译,将TestFile = ["TEST.c"]; 这句中添加所需要测试的文件, GccFile =["test_TEST.c"]添加编译关联程序 (例如:TestFile =["aaa/TestingA.c", "aaa/TestingB.c", "bbb/Tmp.c"] )
  • -e模式 将TestFile = ["test_TEST.c"]; 这句中添加需要测试的文件,具体使用和-a模式一样。然后将src文件UnitTest.py,以及待测试文件,执行文件放入到嵌入式系统中,按照上面的图示关系,然后执行 UnitTest.py -e /中间目录/xxx/Resultfile
  • -m模式 将TestFile = ["test_TEST.c"]; 这句中添加需要测试的文件,具体使用和-a模式一样。按照上面的图示关系,执行
    UnitTest.py -m /中间目录/xxx/makefile /中间目录/xxx/Resultfile [makefile的gcc当中要加入编译参数 -fprofile-arcs -ftest-coverage -pg]

6.执行UnitTest.py

问题

联系

Comment ( 0 )

Sign in for post a comment