加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Python开发必备:如何建立一个优秀的项目工程环境

发布时间:2019-09-05 00:08:34 所属栏目:建站 来源:虫虫安全
导读:在程序开发时候一套好的开发环境和工具栈,可以帮我们极大的提高开发的效率,避免把大量时间浪费在周边琐事上。本文以Python为例,教大家如何快速打造优秀的Python项目开发环境:内容涵盖了模块依赖管理、代码风格管理、调试测试管理和Git版本管理,使用gi

单元覆盖率的项目配置需要创建一个新文件.coveragerc返回应用程序代码的覆盖率统计信息,配置示例如下:

  1. [run] 
  2. source = 项目 
  3. [report] 
  4. exclude_lines = 
  5. pragma: no cover 
  6. def __repr__ 
  7. if self.debug 
  8. raise AssertionError 
  9. raise NotImplementedError 
  10. if 0: 
  11. if __name__ == .__main__.: 

然后再工程中运行一下命令,测试项目的覆盖率

  1. pipenv run pytest --cov --cov-fail-under =100 

如果程序代码的测试覆盖率低于100%,就会报错。

Git pre-commit hook规范检查

Git hook可以让我们在提交或推送时执行检查脚本,脚本可以配置对项目镜像测试或者规范性检查。运行脚本。我们可以配置pre-commit hook允许轻松配置这些钩子,下面.pre-commit-config.yaml配置示例可以帮我们自动做代码规范化,包括isort检查、black检查、flake8检查、mypy静态类型检查、pytest测试、pytest-cov测试覆盖率检查:

  1. repos: 
  2. - repo: local 
  3. hooks: 
  4. - id: isort 
  5. name: isort 
  6. stages: [commit] 
  7. language: system 
  8. entry: pipenv run isort 
  9. types: [python] 
  10. - id: black 
  11. name: black 
  12. stages: [commit] 
  13. language: system 
  14. entry: pipenv run black 
  15. types: [python] 
  16. - id: flake8 
  17. name: flake8 
  18. stages: [commit] 
  19. language: system 
  20. entry: pipenv run flake8 
  21. types: [python] 
  22. exclude: setup.py 
  23. - id: mypy 
  24. name: mypy 
  25. stages: [commit] 
  26. language: system 
  27. entry: pipenv run mypy 
  28. types: [python] 
  29. pass_filenames: false 
  30. - id: pytest 
  31. name: pytest 
  32. stages: [commit] 
  33. language: system 
  34. entry: pipenv run pytest 
  35. types: [python] 
  36. - id: pytest-cov 
  37. name: pytest 
  38. stages: [push] 
  39. language: system 
  40. entry: pipenv run pytest --cov --cov-fail-under=100 
  41. types: [python] 

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读