技术博客-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插件非常实用也很容易上手,能够有效地对小规模程序进行测试覆盖率检查。

原文地址:https://www.cnblogs.com/NAG2020/p/12937250.html