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

西安哪些做网站的公司西安专业网络推广平台

西安哪些做网站的公司,西安专业网络推广平台,韩城市网站建设局电话,网站正在建设中av手机版pytest是Python生态中最流行的自动化测试框架,它通过简洁的语法、强大的功能(如fixture、参数化、插件扩展等)和丰富的插件生态,帮助开发者高效完成单元测试、集成测试和端到端测试。fixture是pytest框架中最核心、最强大的功能之一,它提供了…

pytest是Python生态中最流行的自动化测试框架,它通过简洁的语法、强大的功能(如fixture、参数化、插件扩展等)和丰富的插件生态,帮助开发者高效完成单元测试、集成测试和端到端测试。fixture是pytest框架中最核心、最强大的功能之一,它提供了一种优雅的方式来管理测试依赖项(如数据库连接、测试数据、API客户端等),实现了测试代码的模块化和复用。

fixture基础概念

  1. fixture的作用
  • 依赖注入:自动将资源(如数据库连接)注入到测试函数中
  • 资源管理:统一管理测试资源的创建和清理
  • 复用性:多个测试用例可以共享同一个fixture

2.基本语法


import pytest
@pytest.fixture
def fixture_name():# 初始化代码resource = create_resource()yield resource  # 返回资源给测试用例使用# 清理代码(测试完成后执行)resource.cleanup()

2.fixture核心特性

  1. 作用域控制
  • 通过scope参数控制fixture的生命周期:

  • function(默认):每个测试函数执行一次

  • class:每个测试类执行一次

  • module:每个Python模块执行一次

  • package:每个包执行一次

  • session:整个测试会话执行一次

@pytest.fixture(scope="module")
def shared_resource():return create_expensive_resource()
  1. 自动使用

通过autouse=True让fixture自动执行,无需显式调用


@pytest.fixture
def db_connection():return connect_to_database()
@pytest.fixture
def user_repo(db_connection):return UserRepository(db_connection)
  1. 依赖其他fixture

fixture可以依赖其他fixture


@pytest.fixture
def db_connection():return connect_to_database()
@pytest.fixture
def user_repo(db_connection):return UserRepository(db_connection)

3.fixture使用案例

1)API客户端初始化

import pytest
import requests
@pytest.fixture(scope="module")
def api_client():client = requests.Session()client.base_url = "https://api.example.com"client.headers = {"Authorization": "Bearer test_token"}yield client  # 整个测试模块共享同一个客户端client.close()  # 模块测试完成后关闭
def test_get_user(api_client):response = api_client.get("/users/1")assert response.status_code == 200assert response.json()["name"] == "Alice"

2)Web浏览器实例管理(结合Selenium)

import pytest
from selenium import webdriver
@pytest.fixture(scope="class")
def browser():driver = webdriver.Chrome()driver.implicitly_wait(10)yield driver  # 整个测试类共享同一个浏览器实例driver.quit()  # 类测试完成后关闭浏览器
class TestWebLogin:def test_login(self, browser):browser.get("https://example.com/login")browser.find_element("#username").send_keys("admin")browser.find_element("#password").send_keys("secret")browser.find_element("#submit").click()assert "Dashboard" in browser.title

4.fixture高级技巧

1)动态fixture参数化

@pytest.fixture(params=["sqlite", "mysql", "postgres"])
def database(request):return create_db_connection(request.param)
def test_db_operations(database):assert database.execute("SELECT 1") == 1

2)多个fixture组合

@pytest.fixture
def auth_token():return "test_token_123"
@pytest.fixture
def authenticated_client(api_client, auth_token):api_client.headers["Authorization"] = f"Bearer {auth_token}"return api_client
def test_protected_endpoint(authenticated_client):response = authenticated_client.get("/protected")assert response.status_code == 200

在这里插入图片描述

http://www.dtcms.com/wzjs/414216.html

相关文章:

  • 关键词seo优化案例系统优化大师
  • 做网站的公司什么动力赣州是哪个省
  • wordpress的主机要求沈阳seo整站优化
  • 合肥企业制作网站竞价推广公司
  • 网站建设 印花税广州推广系统
  • 企业网站建设项目描述软文推广文章范文1000
  • 新闻网站建设合同ip子域名大全
  • 影院网站如何做steam交易链接在哪里看
  • 借贷网站建设方案怎么样自己创建网站
  • 旅游网站建设与网页设计推广团队
  • 网站建设公司的专业度该怎么去看网站发布与推广怎么写
  • 酒类营销网站最近中国新闻热点大事件
  • 金融网站建设公司郑州网站推广公司电话
  • 在微信上做彩票网站有哪些如何制作网站二维码
  • 那个啥的网站推荐下全国免费发布广告信息平台
  • 免费bi软件网站推广优化方案
  • 大学生兼职做网站全国疫情最新情报
  • 连云港网站建设培训班盘古百度推广靠谱吗
  • 删除网站备案与注销收录优美图片崩了
  • opencart 构建电子商务网站搜索关键词优化服务
  • 用web做的网站他达拉非
  • 响应式网站自助建设平台万维网域名注册查询
  • 途牛旅游线路网站建设分析营销策划与运营公司
  • 沁水做网站足球联赛排名
  • .net php开发网站开发seo案例分析方案
  • 运用asp做购物网站的心得网站建设网站设计
  • 禅城区企业网站建设网站权重什么意思
  • 网站维护后期费用百度用户服务中心
  • 企业网站制作网店营销策划方案
  • 网销培训seo扣费系统源码