手把手教你如何使用git来建立代码仓库、三大工具的使用方法?

举报
泽宇-Li 发表于 2023/07/14 13:32:10 2023/07/14
【摘要】 一、创建一个新的插件:项目为单位的管理模式直接新建项目步骤:1:创建新的项目2:创建虚拟环境 venv3:安装pdm 自行安装4:使用我们的pdm来初始化项目  新建项目指定项目的位置,然后我们创建pytest插件约定一定要pytest-开头,创建一个结果通知插件 自动将整个pytest测试结果通过钉钉、飞书方式发送出去名字建立:  输入pdm init 输入y安装插件 后默认即可回车就可以...

一、创建一个新的插件:项目为单位的管理模式直接新建项目

步骤:

1:创建新的项目

2:创建虚拟环境 venv

3:安装pdm 自行安装

4:使用我们的pdm来初始化项目

  新建项目指定项目的位置,然后我们创建pytest插件约定一定要pytest-开头,创建一个结果通知插件 自动将整个pytest测试结果通过钉钉、飞书方式发送出去

名字建立:

image.png

  输入pdm init 输入y安装插件 后默认即可回车就可以了。

如图:

image.png

image.png

  手动创建目录src存放项目源码和tests存放测试用例,写的插件、项目都要有对应的单元测试用例,创建pythonpackage包 再python当中你的包名不可以出现+-号,名为pytest_result_sender。Pyproject.toml是项目源码,项目源码当中介绍 插件名字文本号或作者以及依赖还可以添加插件的入口点并指定源码再src中

如图:

image.png

image.png

项目创建就ok了。

2:编写代码:

举个简单例子,新建python文件创建插件文件再plugin.py中写hook,比如首先在,From datetime import datetime是生成当前实践

Def pytest_configure():

#会在配置加载完毕之后执行,也就是再测试用例前面执行

Print(f”{datetime.now()}”pytest开始执行)

Def pytest_unconfigure():

Print(f”{datetime.now()}”pytest结束执行)

再所由用例之前执行这个代码

如图实现最终效果:

image.png

二、测开平台之企业级项目开发实战篇

1.建立git仓库跟踪代码更新进行版本控制

2.使用black+iosrt的进行代码质量控制

3.项目需求分析梳理及拆解设计测试用例

4.测试驱动开发完成mvp最小化可行产品

1.使用git进行代码版本的控制

使用git不仅仅是把他存起来,托管,也是通过git方式来跟踪代码变化,防止代码写错或bug、删掉代码如何找回呢?都是通过该控制工具实现。

使用方法:

1:初始化仓库

Git init

项目目录在什么地方就在这个地方执行命令即可。仓库不是源码的一部分而是将源码放到仓库中,从代码变化到仓库变化。会将仓库内容保存到git中,使用俩种方式实现内容分割,.git代表隐藏、也可以通过右键查看是否为隐藏文件。如果仓库已经创建再去执行也可以,如图所示:

image.png

2.将代码放到仓库当中

安装git时可以右键git gui 通过使用git自带的界面。如图所示。来对内容进行控制,初始化项目之后也可以在上面的菜单栏当中点击git的按钮里面也有很多东西来修改。删除.git文件后会发现无法使用git命令。如图所示:

image.png

1)Git gui页面介绍

画红色圈圈地方是没有保存到仓库文件,但是已经提交了。下方的四个按钮第一个是扫描,第二个是存储,第三个是签名,第四个是提交,第五个是push。推到远程仓库当中。可以每个按钮按一遍就知道怎么操作了,可以通过提交历史来查看第一次代码的提交。

image.png

注意:忽略配置是不关心不重要不希望加到代码仓库中比如说:pycharm编译器里面东西,预编译文件等。让我们的git忽略掉它,对它视而不见有俩种方法:

第一种就是将需要的文件选中到代码仓库,但是有点笨,而且不好拿捏哪个是忽略的配置

第二种是配置文件在pycharm中在pycharm根目录中创建一个git忽略文件,如图所示。里面对编译文件、扩展文件、虚拟环境,写到这个文件中的内容是不要的,写完后在ui界面重新扫描下会发现文件就少了很多,如图所示。只剩下了gt的忽略文件,项目配置文件、源码等等。

忽略了:ide、python的预编译文件就是pyc解位的文件、各种临时文件、包括还有我们的打包编译文件等等。这些都可以直接拿来用就不用自己写了。

image.png

image.png

如何查看自己删除掉的代码呢?可以将上方写的plugin.py下方的代码库删掉后点击下方的log日志查看。如图所示。就可以看到上面的文件下写着在plugin.py下删除了右侧的代码。然后再ui界面来备注下:清空掉了代码内容 点击commit提交这地方就是清空掉了,这时候便是入库存储起来了,后续文件的修改需求也可以这么做,如果有一天后悔了这么改可以回滚回来吗?是可以的,不需要备份!怎么找回之前删除的代码呢?比如说要找plugn的文件可以选中文件后再编辑页右键选中git再选中show diff 显示版本之间的差异,下方可以选中历史,比如说再三分钟或俩分钟之前是什么样的,可以回滚操作,选中要回滚的时间,右键选中showdiff,修改上方的行参数来回退到之前版本,或再git中选中resethead如图所示。将版本号再右下方带有数字放到head中,选择head方式来reser重置,代码就回来了。

image.png

     image.png

    image.png

    2)回退版本

   Reset –head 再不同版本之间随便跳跃比如将来代码中出现bug,不知道怎么修改可以回退到上一个没有bug的版本,保证系统正常,主要是来记录代码和遇到突发状况可     以实现版本回退,多个版本之间可以比较版本之间的差异。用git来实现代码的控制,为了确保代码有备份能控制可回退:一定要及时的commit!如果没有commit代码而     是直接reset代码就会丢失。

   注意:一定要及时commit!!!

2.使用black+iosrt代码的质量控制

和之前的代码版本控制,改了什么怎么样改回来,这里更注重代码不能随便的写,由于每个人可以写出不同的风格所以要求质量控制,通过使用三件套black、isort、flake8来进行代码的质量控制,保证每个人的代码质量、风格等接近。

Pdm是全项目的管理不仅仅用到安装

使用工具时首先

安装依赖

Pdm add 要安装的东西即可 和pytest同理 但是不能这样去做,我们安装了以来但是使用这些的人需要安装这样工具吗?不需要。我们写插件要用到这种东西但是不能强加给使用框架或插件的人,应该怎么办?

在开发依赖后加-d

Pdm add black iosrt flake8 -d

Pdm add pytest 叫运行依赖

什么叫运行依赖?运行这个软件或系统就要安装pytest,开发依赖顾名思义就是在开发中需要而不是在终端用户中用到,所以不会安装。

安装如图:

    image.png

三种工具之间的角色:

Black::不妥协的代码格式化,让每一个开发的代码形成统一的风格标准。

在下方输入 black 文件名字回车就会发现代码被格式化了,如图所示。

    image.png

Iosrt:对import语句进行排序 用法同理 black。

导入的规则:

          导入系统内置模块、第三方模块随后是自己写的模块。

Flake8:代码质量分析

      主要是检测代码中潜在的bug,怎么解决bug,分析什么变量、导入什么模块、在什么地方使用模块、使用的方式对不对合不合理进行分析。用法同理black。

上面三个工具对代码进行修改和质量检查避免有很多坑,

对多个文件怎么使用工具呢?

配置脚手架让它自动执行,在project.toml中去写,代码如下:

    image.png

创建check会自动调用这三个工具,并创建flake文件让它在检查时可以将不必要文件进行排除。

    image.png

这时候在命令行中敲入:pdm check 就会自动的检查所有的文件,如图所示。

    image.png

提示的地方可能是代码的错误问题,需要自行修改在修改完后再次执行会发现没有任何错误提示,就是搞定了。代码项目配置好后可以保存项目修改,点击git后点击commit。在文件下方也可以输入备注信息来区分,可以通过下方git查看保存信息。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。