当前位置: 首页 > news >正文

计算机专业大学排名seo统计

计算机专业大学排名,seo统计,wordpress 添加导航,谷歌seo综合查询文章目录1 安装2 用例运行规则3. pytest命令参数4. pytest配置文件5. 前后置6. 断言7. 参数化pytest 是⼀个非常流行且高效的Python测试框架,它提供了丰富的功能和灵活的用法,使得编写和运行测试用例变得简单而高效1 安装 pip install pytest8.3.22 用例…

文章目录

        • 1 安装
        • 2 用例运行规则
        • 3. pytest命令参数
        • 4. pytest配置文件
        • 5. 前后置
        • 6. 断言
        • 7. 参数化

pytest 是⼀个非常流行且高效的Python测试框架,它提供了丰富的功能和灵活的用法,使得编写和运行测试用例变得简单而高效

1 安装
pip install pytest==8.3.2

在这里插入图片描述

2 用例运行规则
  1. 文件名以test_开头或_test结尾

在这里插入图片描述
test01 文件名不规范 不会执行里面的测试用例

  1. 测试类以Test开头, 并且不能有 __init__方法。

在这里插入图片描述
类的初始化方法: __init__
由于 pytest 的测试收集机制,测试类中不可以定义 __ init __ 方法。 pytest 采用自动发现机制来收集测试用例。它会自动实例化测试类并调用其所有以 test 结尾的方法作为测试用例。如果测试类中定义了 __ init __ 方法,那么当 pytest 实例化该类时, __ init __ 方法会被调用,这可能会掩盖测试类的实际测试逻辑,并引⼊额外的副作用,影响测试结果的准确性。
若测试类中存在初始化操作该采取什么⽅案?
为了避免使用 __ init __ 方法,建议在 pytest 中使用其他替代方案,如使用setUp() 和tearDown() 方法、使用类属性、使用 fixture 函数(具体使用后续会讲解)

  1. 测试方法以test开头

在这里插入图片描述

3. pytest命令参数

pytest 提供了丰富的命令行选项来控制测试的执行。以下是⼀些常用的 pytest 命令行参数及其
使用说明。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4. pytest配置文件

在当前项目下创建pytest.ini文件,该文件为 pytest 的配置文件,以下为常见的配置选项:
在这里插入图片描述
在这里插入图片描述

5. 前后置

三种实现方式:

方法类型作用范围执行时机说明
setup_method/teardown_method每个测试方法每个test_方法前后各执行一次
setup_class/teardown_class整个测试类类中第一个测试开始前/最后一个测试结束后执行
Fixture自定义作用域根据scope参数控制

在这里插入图片描述
在这里插入图片描述

6. 断言

断言( assert )是⼀种调试辅助工具,用于检查程序的状态是否符合预期。如果断言失败(即条件
为假),Python解释器将抛出⼀个 AssertionError 异常。断言通常用于检测程序中的逻辑错误。
pytest 允许你在 Python 测试中使用标准的 Python assert 语句来验证预期和值。

assert 条件, 错误信息#断⾔整数
a = 1
b = 2
assert a == b#断⾔字符串
str = "hello"
assert "hello" == str# 断⾔列表
expect_list = [1, 'apple', 3.14]
actual_list = [1, 'apple', 3.14]
# 断⾔元组
expect_tuple = (1, 'apple', 3.14)
actual_tuple = (1, 'apple', 3.14)
# 断⾔字典
expect_dict = {'name': 'Alice', 'age': 25}
actual_dict = {'name': 'Alice', 'age': 25}
# 断⾔集合
expect_set = {1, 2, 3, 'apple'}
actual_set = {1, 2, 3, 'apple'}
assert expect_list == actual_list
assert expect_tuple == actual_tuple
assert expect_dict == actual_dict
assert expect_set == actual_set

json接口返回值断言:

class Test_case2:def test(self):url = "https://jsonplaceholder.typicode.com/posts/1"r = requests.get(url=url)data = {"userId": 1,"id": 1,"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit","body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
}assert data == r.json() #断言整个返回值jsonassert r.json()["id"] == 1 #断言返回值json的某个字段

在这里插入图片描述

html接口返回值断言:

 def test2(self):url = "https://jsonplaceholder.typicode.com/"r = requests.get(url=url)text = "{JSON} Placeholder"assert text in r.text

在这里插入图片描述

7. 参数化

参数化设计是自动化设计中的⼀个重要组成部分,它通过定义设计参数和规则,使得设计过程更加灵活和可控。
pytest中内置的 pytest.mark.parametrize 装饰器允许对测试函数的参数进行参数化。

示例1:在用例上使用参数化

    @pytest.mark.parametrize("test_input, expected", [("3+5", 8), ("5+8", 13)])def test3(self, test_input, expected):assert eval(test_input) == expected

在这里插入图片描述
示例2:在类上使用参数化

@pytest.mark.parametrize("n, expected", [(1, 2), (3, 4)])
class Test_2:def test1(self, n, expected):assert n + 1 == expecteddef test2(self, n, expected):assert n * 1 + 1 == expected

在这里插入图片描述
要对模块中的所有测试进行参数化,你可以将pytestmark全局变量赋值:

pytestmark = pytest.mark.parametrize("n, expected", [(1, 2), (3, 4)])
class Test_case2:def test3(self, n, expected):assert n + 1 == expectedclass Test_2:def test1(self, n, expected):assert n + 1 == expecteddef test2(self, n, expected):assert n * 1 + 1 == expected

在这里插入图片描述
除了使用 @parametrize 添加参数化外, pytest.fixture() 允许对 fixture 函数进行参数化。

示例3:自定义参数化数据源

def data_provider():
return ["a", "b"]
# 定义⼀个测试函数,它依赖于上⾯函数的返回值
@pytest.mark.parametrize("data", data_provider())
def test_data(data):
assert data != None
http://www.dtcms.com/a/405727.html

相关文章:

  • 织梦网站怎么加入引导页成都最值得一去的地方
  • 手机网站需要什么c 网站开发需要学什么
  • 教人做美食视频网站wordpress开发上传图片
  • 做图网站有哪些注册网站给谁交钱
  • 昆明工程建设信息网站广元网站建设
  • 网站模板与网站定制版的区别服务商平台登录
  • 网站建设有什么出路赤壁市药监局网站建设方案
  • 怎么做下载类的网站吗域名官网
  • 怎么做域名网站wordpress 菜单路径
  • 进网站备案时间企业网站带后台
  • 网页超链接到别的网站404沈阳做网站公司有哪些
  • 东莞常平医院网站建设用dw做淘宝网站
  • 做网站需要哪些网站支付接口如何做
  • 个人网站建设案例教程网站域名哪里买
  • 门户网站后台管理模板宝安在深圳算什么档次
  • 开源手机建站系统北京专业网站设计公司
  • 怎么建网站新手入门中国建设银行网站成都第七支行
  • 做亚马逊和淘宝网站网站评估做的好不好
  • 中小企业网站建设框架西安建设市场诚信信息平台网站
  • 南隼深圳网站建设四平seo
  • 网站备案在哪里审批咔咔做受视频网站
  • 网站管理后台地址做网站的公司现在还 赚钱吗6
  • 企业静态网站源码注册建筑公司名字大全
  • node.js做网站好累电子商务网站建设教学总结
  • 哪些网站可以做推广建站记录查询
  • 网站建设丂金手指科杰上海网站建设小程序开发
  • 上海网站公司建设郑州全网营销推广
  • 便宜做网站怎么样如何创建邮箱
  • 南京网站建设雷仁网络佛山建设
  • 判断电脑和手机访问网站商城门户网站源码