介绍
利用 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 的源码
参考:
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 <CONTAINER ID> /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).增加构建后操作步骤
(2).选择 Report Vioations,集成代码规范检查报告
(3).选择 Publish JUnit test result report,集成单元测试结果报告
(4).选择 Publish Cobertura Coverage Report,集成单元测试覆盖率报告