python 持续集成实践 - 代码规范检查和单元测试

介绍

利用 pylint 和 pytest,分别作为 python 代码规范检查和单元测试工具,并通过 与
jenkins 实现 python 持续集成

pylint 介绍

pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8,具体信息,请参阅参考资料)和有潜在问题的代码。

  • pylint 是一个 Python 工具,除了平常代码分析工具的作用之外,它提供了更多的功能:如检查一行代码的长度,变量名是否符合命名标准,一个声明过的接口是否被真正实现等等。
  • pylint 的一个很大的好处是它的高可配置性,高可定制性,并且可以很容易写小插件来添加功能。
  • 目前在 PyCharm 插件中集成了 pylint。
  • pylint 输出结构共有 4个 级别,分别是 C:Convention, R:Refactor, W:Warning, E:Error。

pytest 介绍

pytest 是一个非常成熟的全功能的 python 测试框架,主要特点有以下几点:

  • 简单灵活,容易上手,文档丰富;
  • 支持参数化,可以细粒度地控制要测试的测试用例;
  • pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等;;
  • 可以很好的和 CI 工具结合,例如 jenkins

jenkins 集成 pylint 和 pytest

1.打开 jenkins,进入 job 页面


2.点击 “配置”



下面的配置都是在这里页面

3.配置 job 的源码
参考:

https://www.jianshu.com/p/e7678dbe4222

4.配置 job 的构建
(1).增加构建步骤,选择 “执行 shell”



分别介绍一下命令

(2).添加 docker-compose 命令,启动镜像

docker-compose up -d
docker-compose 请参考
https://blog.csdn.net/pushiqiang/article/details/78682323

(3).添加 docker exec 命令,进入容器

docker exec -it /bin/bash

(4).添加 pylint 命令,配置代码规范检查
--evaluation="error + warning + refactor + convention" 输出代码规范检查 4种 问题格式,后期集成到流水线与阈值判断要用

pylint $(find . -name "*.py") -f parseable -d I0011,R0801 --evaluation="error + warning + refactor + convention" | tee pylint.log
pylint.log:代码规范检查输出报告

(5).添加 pytest 命令,配置单元测试

py.test test --junit-xml=report.xml --cov-report=xml --cov=./
report.xml:单元测试结果报告
covage.xml:单元测试覆盖率报告,其中覆盖率值后期集成到流水线与阈值判断要用

4.配置 job 的构建后操作
(1).增加构建后操作步骤


image.png

(2).选择 Report Vioations,集成代码规范检查报告


(3).选择 Publish JUnit test result report,集成单元测试结果报告


(4).选择 Publish Cobertura Coverage Report,集成单元测试覆盖率报告


你可能感兴趣的:(python 持续集成实践 - 代码规范检查和单元测试)