zoukankan      html  css  js  c++  java
  • 技术博客-4 后端代码覆盖率测试

    后端代码覆盖率测试

    后端代码生成程序共包含4个文件,包括

    • main_generate:主程序生成函数
    • model_generate:模型生成函数
    • model_para:存储model_generate需要用到的一系列全局参数
    • all_generate:将上述文件内容结合,给前端提供一个代码生成接口

    根据统计,代码生成程序共包括986行代码,其中包括大量判断语句,需要对其进行覆盖率测试确保准确性。

    在进行正式测试前,发现django运行时会对源文件进行一定修改。例若源文件头部为:

    最终生成文件头部为:

    需对其进行修改,否则无法正常通过python运行。

    我所选取的插件为coverage,它是一个用来测试代码覆盖率的 Python 第三方库。在命令行下使用如下命令即可安装:

    pip install coverage
    

    通过查阅资料,总结了coverage的常用指令:

    1. coverage run --help   # 打印帮助信息
    2. coverage run test_xxx.py # 执行test_xxx.py文件,会自动生成一个覆盖率统计结果文件.coverage
    3. coverage report -m(带有详细信息) # 查看coverage报告,读取.coverage文件并打印到屏幕上,可以在命令行里看到统计结果
    4. coverage html -d report # 生成显示整体的covergae html形式的报告

    以实际操作为例,我在本地构建了包括23个测试样例的文件test.py。在命令行中进入文件路径后,执行如下命令:

    程序运行后自动在文件夹下创建report文件夹,内部包括相关的代码覆盖率分析文件,如下图所示:

    可以点击文件名查看具体文件中的代码覆盖率

    总体而言coverage插件非常实用也很容易上手,能够有效地对小规模程序进行测试覆盖率检查。

  • 相关阅读:
    我理解的优秀软件工程师
    Hello 博客园!
    线程安全与可重入函数之间的区别与联系
    linux-粘滞位的使用
    死锁产生的四个必要条件及处理死锁的策略
    数据结构—位图
    Linux下进度条的简单实现
    Linux-find命令
    Linux文件3个时间点(access time,modify time,change time)
    各种排序算法的实现、总结
  • 原文地址:https://www.cnblogs.com/NAG2020/p/12937250.html
Copyright © 2011-2022 走看看