pytest的使用_新代子程序重复调用

pytest的使用_新代子程序重复调用Pytest执行用例规则Pytest在命令行中支持多种方式来运行和选择测试用例1.对某个目录下所有的用例pytest2.对模块中进行测试pytesttest_mod.py3.对文件夹进行

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Pytest执行用例规则

Pytest在命令行中支持多种方式来运行和选择测试用例

1.对某个目录下所有的用例

pytest

 

2.对模块中进行测试

pytest test_mod.py

 

3.对文件夹进行测试

pytest testing

 

4.通过标记来进行测试

pytest -m slow

这种方式会运行所有通过装饰器 @pytest.mark.slow进行装饰的测试用例。
 

5.通过关键字表达式来进行测试

pytest -k "MyClass and not method"

这种方式会执行文件名,类名以及函数名与给定的字符串表达式相匹配的测试用例。 上面的用例会执行TestMyClass.test_something但是不会执行TestMyClass.test_method_simple
 

6.通过节点id来测试

每个被选中的测试用例都会被分配一个唯一的nodeid,它由模块文件名和以下说明符组成:参数化的类名、函数名和参数,用::分隔。

# 测试test_1.py文件下的TestClass类下的test_method方法
pytest test_1.py::TestClass::test_method

# test1.py文件
class TestClass(object):
    def test_one(self):
        x = "hello"
        assert 'h' in x

    def test_method(self):  # 测试的就是这个方法
        x = "hello"
        assert 'h' in x

 

7.从包中运行测试

pytest --pyargs pkg.testing

这将会导入pkg.testing并使用其文件系统位置来查找和运行测试。
 

8.-q 简单打印,只打印测试用例的执行结果

pytest -q test_1.py

 

9.-s 详细打印

pytest -s test_1.py

 

10.-x 遇到错误时停止测试

pytest -x test_1.py

 

11. –maxfail=num,测试在第1(N)次测试失败后停止

pytest --maxfail=2 test_1.py

 

Pycharm运行Pytest

1.新建一个工程后,左上角Pycharm->Preference->Tools->Python Integrated Tools->Default test runner->选择pytest
pytest的使用_新代子程序重复调用
pytest的使用_新代子程序重复调用

2.pytest是可以兼容unittest脚本的,之前写的unittest用例也能用pytest框架去运行

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166018.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月31日 上午6:16
下一篇 2022年7月31日 上午6:16


相关推荐

  • OpenClaw“龙虾”被曝高危安全风险

    OpenClaw“龙虾”被曝高危安全风险

    2026年3月16日
    2
  • MATLAB 拟合曲线

    MATLAB 拟合曲线最近做一个实验 代码中需要找出数据之间的函数关系 所以需要把数据进行拟合 找到关系式 听别人说 MATLAB 做拟合的时候特别方便 所以就测试了一下 果真方便 现在将大致的步骤罗列如下 1 用一个矩阵表示一个自变量的取值 2 用另外一个矩阵表示因变量的取值 3 检查矩阵两个矩阵的数据元素个数是否相同 一般都是一个因变量对应一个自变量 4 调用语句 cftool5 在出现

    2026年3月18日
    2
  • c++深拷贝和浅拷贝[通俗易懂]

    c++深拷贝和浅拷贝[通俗易懂]C++中类的拷贝有两种:深拷贝,浅拷贝当出现类的等号赋值时,会调用拷贝函数在未定义显示拷贝构造函数的情况下,系统会调用默认的拷贝函数——即浅拷贝,它能够完成成员的一一复制。当数据成员中没有指针时,浅拷贝是可行的。但当数据成员中有指针时,如果采用简单的浅拷贝,则两类中的两个指针将指向同一个地址,当对象快结束时,会调用两次析构函数,而导致指针悬挂现象。所以,这时,必须采用深拷贝。深拷贝与浅拷贝

    2022年10月1日
    4
  • IGMP协议原理_IGMP协议详解

    IGMP协议原理_IGMP协议详解IGMP协议概述IGMP(InternetGroupManagementProtocol)因特网组管理协议,是TCP/IP协议簇中负责IP组播成员管理的协议。IGMP协议运行于主机与主机直接相连的组播路由器之间,主要用于维护组播成员关系。IGMP发展了三个版本:IGMPv1:定义了基本的组成员查询和报告过程。IGMPv2:添加了组成员快速离开的机制。IGMPv3:成员可以指定接收…

    2025年11月18日
    3
  • 1.2 《数据库系统概论》之数据模型(概念模型、逻辑模型–物理模型、层次模型、网状模型、关系模型、面向对象模型、对象关系模型)

    1.2 《数据库系统概论》之数据模型(概念模型、逻辑模型–物理模型、层次模型、网状模型、关系模型、面向对象模型、对象关系模型)文章目录 0 思维导图 1 数据模型的概念 2 两大类数据模型客观对象的抽象过程 两步抽象 3 数据模型的组成要素 1 数据结构 2 数据操作 3 数据的完整性约束条件 4 概念模型 1 用途与基本要求 2 信息世界中的基本概念 3 两个实体型之间的联系 一对一联系 1 1 一对多联系 1 n 多对多联系 m n 4 两个以上实体型之间的联系 一对多联系 1 m 1 n 一对一联系

    2026年3月17日
    2
  • 修改RAC环境中的ASM DG名称

    修改RAC环境中的ASM DG名称

    2021年7月5日
    112

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号