【pytest】编写自动化测试用例命名规范README

news/2025/2/21 7:58:56/

API_autoTest

项目介绍

pytest_3">1. pytest命名规范

  • 测试文件:

文件名需要以 test_ 开头或者以 _test.py 结尾。例如,test_login.py、user_management_test.py 这样的命名方式,pytest 能够自动识别并将其作为测试文件来执行其中的测试用例。

  • 测试类:

如果在测试文件中定义测试类,类名要以 Test 开头,并且类名不能包含 init 方法。

class TestCalculator:def test_addition(self):result = 1 + 2assert result == 3
  • 测试函数:

函数名同样要以 test_ 开头。

def test_subtraction():result = 5 - 3assert result == 2

2. 注释书写:

方法、类的注释书写,写到方法内,或者类内,使用三个单引号,或者3双引号
方便其他人不进入方法就能查看,可以带参数,跟返回值
例如:

     """将测试结果记录下来。:param a: 参数a:param b: 参数b:return: 计划id""" 

3. pycharm常用快捷键,windows版-mac请自行查询

  • ctrl+alt+o,导入删除无效的引用包
  • ctrl+A, ctrl+alt+L,全选,格式化代码
  • ctrl+shift+F ,全局搜索【与windows的繁体切换冲突,可禁用繁体切换】

4. 目录结构

  • com :存放公共方法
  • config :统一,存放配置文件。env.yml - 环境配置文件
  • file : 项目用到文件。
  • photo : 项目用到的图片
  • pytest.ini : pytest参数配置
  • test_API : 具体请求接口文件夹
  • allure-report : allure报告地址
  • conftest.py : 统一配置,接口启动+结束设置
  • run.py : 启动文件

pytestjira_48">5. pytest关联jira用例,自动化测试用例名称命名规范:

  1. 对应jira用例的编号数字(有几个写几个,编号之间用&关联);
  2. 市场:OTC(场外)、IB(银行间)、SH(上交所)、SZ(深交所)、BJ(北交所)、FB(非标)、Clearing(清算结算)、CR(合规风控)、Public(公共基础)、STATs(统计报表)
  3. 券商:GT(国泰君安)、EB(光大证券)等
  4. 证券类别:fund(基金)、stock(股票)、bond(债券)、repo(协议正回购)、reverse-repo(协议逆回购)、SPV(资管计划)、Ge-repo(通用正回购)、Ge-reverse-repo(通用逆回购)等
  5. 委托方向:sub(申购)、redeem(赎回)、buy(买)等
  6. 在后面加其他想加的信息。举例:O45_21966&21967_SH-GT-fund-buy-XXX_test.py
  • 用例文件命名中一定要带着jira的用例号
  • 不允许不带不带jira号的_test文件提交git
  • jira号的前后都是 下划线 _,如果多个jira号,中间为&连接
  • 数据分离的excel的命名规则;和测试用例的名称一致。

6. git提交忽略文件

.gitignore

# 忽略 Python 编译后的文件
__pycache__/
*.pyc
*.pyo
*.pyd# 忽略 Excel 打开后的临时文件
~$*.xlsx
~$*.xls# 忽略 PyCharm 相关文件
.idea/
*.iml# 忽略 log 文件
*.log

7.其他注意事项

  1. 增加新文件,备注写清楚这个文件是做什么的(实现了什么事)
  2. 增加新方法,最好写清楚备注,入参,返回值信息,例如:

def get_run_id(cycle_id, issuenum):"""获取运行run_id:param cycle_id: 测试周期id:param issuenum: 用例编号:return:返回  需要运行用例的id,也就是说这个run_id + 运行状态,能改变用例状态显示结果"""#  根据测试周期id,用例编号id# 查询,运行run_idselect = "SELECT  run.ID  FROM ao_69e499_testcycle cycle JOIN " \"ao_69e499_testrun run ON run.TEST_CYCLE_ID=cycle.ID JOIN " \"jiraissue issue ON issue.ID=run.TC_ID WHERE cycle.ID = %s and issue.issuenum = %s"arg = [cycle_id, issuenum]result = DBmysql().select(select, arg)return str(result[0][0])
  1. 复杂业务逻辑模块一定要写清楚备注,方便自己后面回来查看,也方便别人理解
  2. 提交git时【commit】会展示要提交的详情,编译后的文件不要提交,只提交以.py/.xlsx/.xls/.yml这种后缀的
  3. 测试文件/代码 不要提交
  4. py文件中自己测试部分的代码,注释再后提交
  5. commit提交后,一定要记得push
  6. 如果提交git时,提示提交不了,可以重新在自己桌面建个新文件夹,在新文件夹中重拉代码(目的重新建议与git最新的代码的映射关系),将自己修改后的代码放到新文件夹中(不要覆盖!选跳过替换),与git文件有冲突的部分一定要合并代码后再提交

http://www.ppmy.cn/news/1573831.html

相关文章

Qt QStackedWidget 总结

Qt QStackedWidget 总结 概述 QStackedWidget 是 Qt 中的一个容器控件,用于管理多个子界面(页面),但一次只显示一个。类似于标签页,但隐藏了切换标签的 UI,需手动控制页面切换逻辑。常用于向导界面、分步…

DeepSeek R1 与 OpenAI O1:机器学习模型的巅峰对决

我的个人主页 我的专栏:人工智能领域、java-数据结构、Javase、C语言,希望能帮助到大家!!!点赞👍收藏❤ 一、引言 在机器学习的广袤天地中,大型语言模型(LLM)无疑是最…

Python基于Flask的豆瓣Top250电影数据可视化分析与评分预测系统(附源码,技术说明)

博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#x1f3…

TCP 三次握手与四次挥手:构建与终止可靠通信的核心机制

引言 TCP(传输控制协议)是网络通信的基石,其核心目标是: 在不可靠的IP层之上提供可靠的数据传输。 为实现这一目标,TCP通过 三次握手(Three-way Handshake)建立连接,通过四次挥手&am…

教育领域的AI革命:个性化学习导师的技术架构与未来展望 (八)

未来展望:教育元宇宙的雏形——重构人类认知边界的数字新大陆 一、技术基座:构建虚实共生的教育基础设施 神经界面革命脑机接口教育套件 斯坦福大学2024年推出的NeuroEdu头盔,通过128通道EEG阵列实现思维捕捉,学生可通过意念操控虚拟实验室设备,实验数据显示: 物理概念理…

Python----数据结构(栈:列表栈,链栈。初始化,入栈,出栈,获取栈长度,判断是否为空,访问栈顶元素)

一、栈 1.1、概念 栈(stack):又名堆栈,它是一种运算受限的线性表,是一种容器,可存入数据元素、访 问元素、删除元素,它的特点在于只能允许在容器的一端(成为栈顶top),进…

知识蒸馏:如何让小模型继承大模型的智慧,提升效率不牺牲效果

我们今天给大家分享一篇知识蒸馏的工作。 我们知道,现如今模型各种各样,效果方面屡创新高。但是,有的时候,效果提升会有效率的牺牲。那么知识蒸馏,就是能够让保证效果的同时,提升效率。这篇文章将给大家来…

GAMES101-现代计算机图形学入门笔记

主讲老师:闫令琪,此处仅做个人笔记使用。如果我的分享对你有帮助,请记得点赞关注不迷路。 课程链接如下:GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibili 课程分为四部分:光栅化、几何、光线追踪、模拟 图形…