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

网站开发项目进度安排/油烟机seo关键词

网站开发项目进度安排,油烟机seo关键词,网站字体一般是什么字体,做网站毕业论文的参考文献常量 pytest.__version__ #输出pytest版本 pytest.version_tuple #输出版本的元组形式 功能 pytest.approx pytest.approx 是一个用于进行数值近似比较的 pytest 断言工具。 在测试中,有时候需要对浮点数或其他具有小数部分的数值进行比较。然而,由于…

常量

pytest.__version__ #输出pytest版本

 

 

pytest.version_tuple #输出版本的元组形式

 

 

功能

pytest.approx

`pytest.approx` 是一个用于进行数值近似比较的 pytest 断言工具。

在测试中,有时候需要对浮点数或其他具有小数部分的数值进行比较。然而,由于浮点数精度限制,直接使用相等判断可能会导致测试不稳定或失败。这时,就可以使用 `pytest.approx` 工具来进行近似比较。

`pytest.approx` 可以用于比较单个值或列表、字典等数据结构的值。

以下是 `pytest.approx` 的常见用法示例:

```python
import pytestdef test_approx():assert 0.1 + 0.2 == pytest.approx(0.3)def test_list_approx():assert [0.1, 0.2, 0.3] == pytest.approx([0.1, 0.2, 0.3])def test_dict_approx():assert {"a": 0.1, "b": 0.2} == pytest.approx({"a": 0.1, "b": 0.2})
```

在上述示例中,第一个测试用例使用 `pytest.approx(0.3)` 来判断 `0.1 + 0.2` 是否近似于 `0.3`。第二个测试用例使用 `pytest.approx([0.1, 0.2, 0.3])` 来比较两个列表是否近似相等。第三个测试用例使用 `pytest.approx({"a": 0.1, "b": 0.2})` 来比较两个字典是否近似相等。

`pytest.approx` 在进行比较时会考虑到浮点数的精度问题,具有一定的容错性。可以通过设置 `rel` 和 `abs` 参数来调整容忍度。例如 `pytest.approx(0.3, rel=1e-3, abs=1e-5)` 可以设置相对误差不超过 `1e-3`,绝对误差不超过 `1e-5`。

pytest.fail

`pytest.fail` 是一个用于强制测试用例失败的 pytest 断言工具。

在某些情况下,您可能希望在测试中明确主动地使测试用例失败,而不是依赖其他断言条件或业务逻辑来触发失败。

`pytest.fail` 函数可以用于在测试中显式地引发 AssertionError,导致当前测试用例立即失败。

以下是 `pytest.fail` 的示例用法:

```python
import pytestdef test_fail():pytest.fail("Test case intentionally fails")
```

在上述示例中,`test_fail` 函数调用 `pytest.fail("Test case intentionally fails")` 来强制使测试用例失败,并提供一个可选的错误信息。

当测试运行到 `pytest.fail` 调用时,将引发 `AssertionError`,并且测试用例会立即失败。测试运行将停止,并且不会执行该用例后续的代码。

`pytest.fail` 函数还支持其他参数,例如 `pytrace=True` 用于显示堆栈跟踪信息,`skip=True` 用于标记测试用例为跳过状态。

请注意,在正常的测试编写中,尽量避免过多使用 `pytest.fail`,它应该被视为一种辅助工具,用于某些特殊场景下的测试目的。

pytest.skip

`pytest.skip` 是一个用于跳过测试用例的 pytest 断言工具。

在某些情况下,您可能希望在测试中主动跳过某些用例,而不是执行它们。`pytest.skip` 函数可以用于在测试运行时标记测试用例为跳过状态,告诉 pytest 不要执行这些用例。

以下是 `pytest.skip` 的示例用法:

```python
import pytest

def test_skip():
    pytest.skip("This test case is skipped intentionally")
```

在上述示例中,`test_skip` 函数调用 `pytest.skip("This test case is skipped intentionally")` 来标记测试用例为跳过状态,并提供一个可选的跳过说明。

当测试运行到 `pytest.skip` 调用时,该用例将被跳过,在测试报告中被标记为跳过状态。测试运行将继续进行,并且不会执行该用例后续的代码。

`pytest.skip` 函数还支持其他参数,例如 `allow_module_level=True` 用于允许跳过整个模块。

请注意,在正常的测试编写中,应该根据测试需要谨慎使用 `pytest.skip`。它通常用于某些特殊场景下,例如在某些条件不满足时跳过某些用例,或者在暂时无法实现某些功能时跳过相关的测试。

pytest.importorskip

`pytest.importorskip` 是一个 pytest 工具,用于在测试中动态导入所需的模块,如果导入失败则跳过测试用例。

有时,测试用例可能依赖于外部模块或库,如果在运行测试用例之前无法导入所需的模块,则这些用例可能会失败。为了避免因为缺少依赖而导致测试用例无法执行,您可以使用 `pytest.importorskip` 来跳过这些用例。

以下是 `pytest.importorskip` 的示例用法:

```python
import pytest

def test_dependency():
    module = pytest.importorskip("module_name")
    # 使用module进行进一步的测试
```

在上述示例中,`test_dependency` 函数使用 `pytest.importorskip` 导入名为 "module_name" 的模块。如果无法导入该模块,则测试用例将被跳过,不会执行后续的代码。

`pytest.importorskip` 函数会尝试导入指定的模块,如果导入失败,则会引发 `pytest.skip` 异常,该异常会被 pytest 捕获,并将相应的测试用例标记为跳过状态。

请注意,`pytest.importorskip` 可以接受其他参数,用于控制导入的行为,例如 `minversion` 参数用于指定要求的最低版本号,`reason` 参数用于提供跳过用例的说明。

无法导入,该条用例跳过 

pytest.xfail

预期用例失败

pytest.exit

`pytest.exit` 函数是 pytest 的一个工具,用于在测试运行期间提前退出测试过程。

在某些情况下,您可能希望在测试执行过程中主动退出,而不继续执行后续的测试用例。`pytest.exit` 函数可以用于在测试运行时提前终止测试过程。

以下是 `pytest.exit` 的示例用法:

```python
import pytest

def test_exit():
    pytest.exit("Testing is interrupted")
```

在上述示例中,`test_exit` 函数调用 `pytest.exit` 来提前终止测试执行,并提供一个可选的退出信息。

当测试运行到 `pytest.exit` 调用时,测试过程将立即终止,当前运行的测试用例将被中断,后续的测试用例将不会执行。同时,测试报告中会记录异常退出信息。

请注意,使用 `pytest.exit` 函数需要小心,并且只应在特殊情况下使用。正常情况下,测试用例应该按照规定的顺序执行,并且尽量避免意外退出测试过程。

pytest.main

执行入口

pytest.param

`pytest.param` 是 pytest 提供的一个装饰器函数,用于给测试参数化过程中的每个参数提供自定义的元数据。

在 pytest 中,参数化是一种技术,用于在执行同一个测试函数时,多次运行该函数,并为每次运行传递不同的参数组合。`pytest.param` 装饰器函数可以为每个参数组合提供自定义的元数据,这些元数据可以在测试报告中提供更多的信息。

以下是 `pytest.param` 的示例用法:

import pytest@pytest.mark.parametrize("param", [pytest.param("good", marks=pytest.mark.first),pytest.param("morning", marks=pytest.mark.second)
])
def test_param(param):assert len(param) > 0

在上述示例中,`test_param` 函数通过 `@pytest.mark.parametrize` 装饰器实现参数化。`pytest.param` 函数用于为每个参数提供自定义的元数据。在示例中,第一个参数值 "value1" 标记为 `pytest.mark.first`,第二个参数值 "value2" 标记为 `pytest.mark.second`。

通过为每个参数组合提供自定义的元数据,您可以在测试报告中识别和过滤特定的用例,以及运行自定义的处理逻辑,比如添加标记、过滤用例等。

请注意,使用 `pytest.param` 装饰器需要在参数化过程中使用 `@pytest.mark.parametrize` 装饰器进行配合。

pytest.raises

`pytest.raises` 是 pytest 提供的一个上下文管理器,用于检查测试用例中是否引发了指定的异常。

在测试过程中,有时您可能会希望测试某些代码在特定情况下是否会引发预期的异常。`pytest.raises` 上下文管理器可以帮助您捕获和断言这些异常。

以下是 `pytest.raises` 的示例用法:

```python
import pytest

def test_raises():
    with pytest.raises(Exception):
        # 在此处编写可能引发异常的代码
        raise Exception("An error occurred")
```

在上述示例中,`test_raises` 函数使用 `with pytest.raises(Exception):` 语句块来标识捕获异常的范围。在 `with` 代码块中,您可以编写可能引发异常的代码。在示例中,我们手动引发了一个 `Exception` 类型的异常。

当代码块中引发了指定类型的异常时,`pytest.raises` 将捕获该异常,测试将继续进行,并进行后续的断言。如果代码块中没有引发指定类型的异常,`pytest.raises` 将引发一个断言错误,测试将被标记为失败。

通过使用 `pytest.raises`,您可以确保代码在预期情况下引发了异常,并可以对异常进行进一步的检查和断言。

请注意,`pytest.raises` 还支持对异常对象进行断言,例如检查异常的具体信息、属性等。可以通过使用 `as` 关键字来捕获异常对象,并对其进行断言。

fixture

record_property

`record_property` 是 pytest 的一个内置函数,用于在测试运行期间记录自定义的属性。

在测试过程中,您可能希望记录一些额外的信息或元数据,以便于后续分析和报告。`record_property` 函数提供了一种将自定义属性与测试用例关联起来的方法。

以下是 `record_property` 的示例用法:


def test_example(record_property):record_property("priority", "high")record_property("severity", "medium")# 编写测试断言...assert 1 + 1 == 2

在上述示例中,`record_property` 函数被用于记录两个自定义的属性:`priority` 和 `severity`。这些属性与测试用例 `test_example` 相关联。

在运行测试时,`record_property` 函数将记录这些属性值,并将其与该测试用例关联。这些属性值将显示在测试报告中,可以帮助您更好地理解和分析测试结果。

通过记录适当的属性,您可以为测试结果提供更多的上下文,例如标记测试的优先级、严重性级别等。这对于组织和分析大规模测试套件非常有用。

`record_property` 函数可以在测试用例的任何位置调用,以记录所需的属性。通常,它在测试用例顶部作为一种常见的做法,以便更容易找到和识别相关属性。

record_testsuite_property

 记录testsuite的属性

def test_foo(record_testsuite_property):record_testsuite_property("ARCH", "PPC")record_testsuite_property("STORAGE_TYPE", "CEPH")

request

`request` 是 pytest 中的一个固定参数,用于访问测试用例运行时的上下文信息和功能。

在 pytest 的测试用例中,可以通过使用 `request` 参数来获取有关当前测试用例和测试运行环境的信息。`request` 参数是一个固定的 pytest fixture,可以在测试用例函数或其他 fixture 中使用。

以下是一些常见的 `request` 对象的用法:

1. 获取当前测试用例的名称:

def test_example(request):test_name = request.node.nameprint(f"Running test: {test_name}")# 其他测试断言和操作...

2. 获取当前测试用例的标记信息:

import pytest@pytest.mark.smoke
def test_example(request):marker = request.node.get_closest_marker("smoke")if marker:print("This test is marked as smoke test")# 其他测试断言和操作...

3. 获取测试用例函数的 docstring:

def test_example(request):"""这是一个test"""docstring = request.node.function.__doc__print(f"Test function docstring: {docstring}")# 其他测试断言和操作...

 

 

4. 访问配置文件中的自定义参数:

def test_example(request):my_param = request.config.getoption("--my-param")print(f"My custom parameter: {my_param}")# 其他测试断言和操作...

通过使用 `request` 对象,您可以在测试用例运行时获得更多的上下文信息,并根据需要执行各种操作,例如获取标记、访问配置等。

对象

Item

在 pytest 中,`Item` 类代表着一个测试项目,可以是一个测试用例、一个测试集合或一个测试模块。`Item` 类是 pytest 框架中的一个重要概念,用于管理和操作测试项目的相关信息和行为。

`Item` 类的实例包含了诸如测试项目的名称、位置、标记、参数、测试路径等信息。它也提供了一组方法和属性,用于操作和访问测试项目的各个方面。

以下是 `Item` 类的一些常见方法和属性:

1. `name` - 返回测试项目的名称。

```python
def test_example(item):
    print(f"Test name: {item.name}")
```

2. `nodeid` - 返回测试项目的唯一标识符。

```python
def test_example(item):
    print(f"Node ID: {item.nodeid}")
```

3. `get_closest_marker(name)` - 返回最接近的标记对象。

```python
import pytest

@pytest.mark.smoke
def test_example(item):
    marker = item.get_closest_marker("smoke")
    if marker:
        print("This test is marked as smoke test")
```

4. `get_marker(name)` - 返回与指定名称匹配的第一个标记对象。

```python
import pytest

@pytest.mark.slow
@pytest.mark.smoke
def test_example(item):
    marker = item.get_marker("smoke")
    if marker:
        print("This test is marked as smoke test")
```

5. `keywords` - 返回测试项目的关键字。

```python
def test_example(item):
    print(f"Test keywords: {item.keywords}")
```

`Item` 类还提供了其他一些方法和属性,用于获取和操作测试项目的参数、位置、路径以及与测试框架相关的信息。

config

在 pytest 中,`Config` 类是一个重要的概念,它代表了 pytest 的配置对象。`Config` 类提供了访问和配置 pytest 运行时的各种选项和参数的方法和属性。

`Config` 对象可以通过在自定义的 pytest 插件中使用 `pytest_configure(config)` 钩子函数中的 `config` 参数来获取。

下面是 `Config` 类的一些常见方法和属性:

1. `getoption(name)` - 获取命令行选项或配置文件中的选项的值。

def pytest_configure(config):my_option = config.getoption("--my-option")print(f"My option value: {my_option}")

2. `addinivalue_line(name, value)` - 在配置文件中添加一行配置。

def pytest_configure(config):config.addinivalue_line("markers", "smoke: mark a test as a smoke test.")

3. `getini(name)` - 获取配置文件中的值。

def pytest_configure(config):my_value = config.getini("my_option")print(f"My value from config file: {my_value}")

4. `getoption(name, default=None)` - 获取命令行选项或配置文件中的选项的值,如果不存在则返回指定的默认值。

def pytest_configure(config):my_option = config.getoption("--my-option", default="default_value")print(f"My option value: {my_option}")

除了上述示例外,`Config` 类还提供了许多其他有用的方法和属性,用于访问和配置 pytest 的各种选项和功能。

相关文章:

测试框架pytest教程(11)-pytestAPI

常量 pytest.__version__ #输出pytest版本 pytest.version_tuple #输出版本的元组形式 功能 pytest.approx pytest.approx 是一个用于进行数值近似比较的 pytest 断言工具。 在测试中,有时候需要对浮点数或其他具有小数部分的数值进行比较。然而,由于…...

Docker自学:利用FastAPI建立一个简单的web app

环境配置:下载Docker Desktop 文件一:main.py from typing import Unionfrom fastapi import FastAPIimport uvicornapp FastAPI()app.get("/") def read_root():return {"Hello": "World"}app.get("/items/{item…...

微调bert做学术论文分类(以科大讯飞学术论文分类挑战赛为例)

代码 12-How to Fine-Tune BERT for Text Classification:链接:https://pan.baidu.com/s/1EKggbyC4ZW-ufnDW45eKzA 提取码:k3b2 baseline 链接:https://pan.baidu.com/s/12hkZNJjQ__FGAHiF3fifvQ 提取码:88tb 数据…...

Springboot中sharding-jdbc的API模式并使用自定义算法

Springboot中sharding-jdbc的API模式并使用自定义算法 可配合AbstractRoutingData使用切换数据源 程序用到了AbstractRoutingData来切换数据源(数据源是自定义的格式编写并没有用springboot的自动装配的格式写),但是又用到sharding-jdbc进行…...

MySQL回表是什么?哪些情况下会回表

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责…...

VR、AR、MR 傻傻分不清楚?区别的底层逻辑?

VR是一种能够制作虚拟物体并与人互动的基础技术。它与操作者所处的环境无关。AR可以让在特定位置出现或消失。MR可以让虚拟物体与真实物体进行互动。 AR和MR的大部分应用场景都是随机的,所以硬件基本都采用手机和眼镜。提升了便携性。牺牲了性能。这就导致了AR与MR…...

VScode运行C语言出现的调试问题 lauch:program does not exist 解决方法

"lauch:program does not exist"错误通常表示编译器或调试器无法找到指定的可执行文件。这可能是由于几个原因引起的。首先,确保你的源代码文件夹路径不包含中文字符,因为这可能导致编译器无法识别文件。其次,检查你的launch.json文…...

云原生安全:保护现代化应用的新一代安全策略

随着云计算和容器技术的快速发展,云原生应用已成为现代化软件开发和部署的主流趋势。然而,随之而来的安全挑战也变得更加复杂和严峻。本文将深入探讨云原生安全的概念、原则和最佳实践,帮助您理解如何有效保护云原生应用和敏感数据。 第一部…...

mysql操作

1、字符转Decimal CAST(column AS DECIMAL(9,2)) 2、将计算结果取两位小数: round(column, 2) 3、查询非空 select * from table_XX where id is not null; 4、连表update更新 update a inner join (select yy from b) c on a.id c.id set a.xx c.yy...

前端(十四)——DOM节点操作手册:你需要了解的一切

🙂博主:小猫娃来啦 🙂文章核心:DOM节点操作手册:你需要了解的一切 文章目录 前言DOM基础知识操作现有节点创建新节点遍历节点树修改节点属性和样式事件处理实践应用动态创建表格动态更新列表 前言 DOM(文档…...

PDF怎么转成PPT文件免费?一个软件解决

随着科技的不断发展和进步,电子文档已经成为我们日常工作和学习中不可或缺的一部分。PDF作为一种跨平台的文件格式,以其可靠性和易读性而备受推崇。然而,在某些情况下,我们可能需要PDF怎么转成PPT文件免费,以便更好地展…...

数据结构基础:P3-树(上)----编程作业02:List Leaves

本系列文章为浙江大学陈越、何钦铭数据结构学习笔记,系列文章链接如下: 数据结构(陈越、何钦铭)学习笔记 文章目录 一、题目描述二、整体思路与实现代码 一、题目描述 题目描述: 给定一棵树,按照从上到下、从左到右的顺序列出所有…...

山西电力市场日前价格预测【2023-08-25】

日前价格预测 预测明日(2023-08-25)山西电力市场全天平均日前电价为314.22元/MWh。其中,最高日前电价为336.17元/MWh,预计出现在18: 30。最低日前电价为283.05元/MWh,预计出现在24: 00。 价差方向预测 1: 实…...

手机无人直播软件,有哪些优势?

近年来,随着手机直播的流行和直播带货的市场越来越大,手机无人直播软件成为许多商家开播带货的首选。在这个领域里,声音人无人直播系统以其独特的优势,成为市场上备受瞩目的产品。接下来,我们将探讨手机无人直播软件给…...

SpringBoot概述SpringBoot基础配置yml的使用多环境启动

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 SpringBoot简介 一、 SpringBoot概述1.1 起步依赖…...

Python Pandas 处理Excel数据 制图

目录 1、饼状图 2、条形统计图 1、饼状图 import pandas as pd import matplotlib.pyplot as plt import numpy as np #from matplotlib.ticker import MaxNLocator # 解决中文乱码 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[font.sans-serif]Microsoft YaHei …...

如何自己实现一个丝滑的流程图绘制工具(五)bpmn的xml和json互转

背景 因为服务端给的数据并不是xml,而且服务端要拿的数据是json,所以我们只能xml和json互转,来完成和服务端的对接 xml转json import XML from ./config/jsonxml.js/*** xml转为json* param {*} xml*/xmlToJson(xml) {const xotree new X…...

mysql--数据库的操作

数据库,是数据存储的最大单元。 1 创建数据库 create database mydatabase; 每次创建数据库的时候,都会多一个文件夹,关系型数据库是存储在磁盘当中的,所以这时候可以查看新建的数据库 2 指定字符集 MySQL中的字符集转换过程 制…...

kafka--技术文档--架构体系

架构体系 Kafka的架构体系包括以下几个部分: Producer. 消息生产者,就是向Kafka broker发送消息的客户端。Broker. 一台Kafka服务器就是一个Broker。一个集群由多个Broker组成。一个Broker可以容纳多个Topic。Topic. 可以理解为一个队列,一…...

ctfshow web入门 web103-web107

1.web103 和102一样 payload: v2115044383959474e6864434171594473&v3php://filter/writeconvert.base64-decode/resource1.php post v1hex2bin2.web104 值只要一样就可以了 payload: v21 post v113.web105 考查的是$$变量覆盖,die可以带出数据,输出一条消息&#xf…...

前端工程化之模块化

模块化的背景 前端模块化是一种标准,不是实现理解模块化是理解前端工程化的前提前端模块化是前端项目规模化的必然结果 什么是前端模块化? 前端模块化就是将复杂程序根据规范拆分成若干模块,一个模块包括输入和输出。而且模块的内部实现是私有的&…...

文件服务器实现方式汇总

hello,伙伴们,大家好,今天这一期shigen来给大家推荐几款可以一键实现文件浏览器的工具,让你轻松的实现文件服务器和内网的文件传输、预览。 基于node 本次推荐的是http-server, 它的githuab地址是:http-s…...

ChatGPT计算机科学与技术专业的本科毕业论文,2000字。论文查重率低于30%。

目录 摘要 Abstract 绪论 1.1 研究背景 1.2 研究目的和意义 2.1 ChatGPT技术概述 2.2 ChatGPT技术的优缺点分析 2.2.1 优点 2.2.2 缺点 摘要 本论文围绕ChatGPT展开,介绍了该技术的发展历程、特点及应用,分析了该技术的优缺点,提出了…...

【Winform学习笔记(八)】通过委托实现跨窗体传值

通过委托实现跨窗体传值 前言正文1、委托及事件2、通过委托实现跨窗体传值的步骤1.在子窗体中定义委托2.在子窗体中声明一个委托类型的事件3.调用委托类型事件4.在实例化子窗体后,子窗体订阅事件接受方法5.实现具体的事件 3、具体示例4、完整代码5、实现效果 前言 …...

Windows用户如何安装Cpolar

目录 概述 什么是cpolar? cpolar可以用在哪些场景? 1. 注册cpolar帐号 1.1 访问官网站点 2. 下载Windows版本cpolar客户端 2.1 下载并安装 2.2 安装完验证 3. token认证 3.1 将token值保存到默认的配置文件中 3.2 创建一个随机url隧道&#x…...

C++最易读手撸神经网络两隐藏层(任意Nodes每层)梯度下降230820a

这是史上最简单、清晰,最易读的…… C语言编写的 带正向传播、反向传播(Forward ……和Back Propagation)……任意Nodes数的人工神经元神经网络……。 大一学生、甚至中学生可以读懂。 适合于,没学过高数的程序员……照猫画虎编写人工智能、…...

机器学习理论笔记(二):数据集划分以及模型选择

文章目录 1 前言2 经验误差与过拟合3 训练集与测试集的划分方法3.1 留出法(Hold-out)3.2 交叉验证法(Cross Validation)3.3 自助法(Bootstrap) 4 调参与最终模型5 结语 1 前言 欢迎来到蓝色是天的机器学习…...

10*1000【2】

知识: -----------金融科技背后的技术---------------- -------------三个数字化趋势 1.数据爆炸:internet of everything(iot);实时贡献数据;公有云服务->提供了灵活的计算和存储。 2.由计算能力驱动的&#x…...

“探秘JS加密算法:MD5、Base64、DES/AES、RSA你都知道吗?”

目录 1、什么是JS、JS反爬是什么?JS逆向是什么? 2、JS逆向的大致流程 3、逆向的环境搭建 3.1、安装node.js 3.2、安装js代码调试工具(vscode) 3.3、安装PyExecJs模块 4、JS常见加密算法 4.1、Base64算法 4.2、MD5算法 4.3、DES/AES算法 4.2.2 AES与DES的…...

Spark项目Java和Scala混合打包编译

文章目录 项目结构Pom完整文件编译查看 实际开发用有时候引用自己写的一些java工具类,但是整个项目是scala开发的spark程序,在项目打包时需要考虑到java和scala混合在一起编译。 今天看到之前很久之前写的一些打包编译文章,发现很多地方不太对…...