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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux使用SCP进行文件传输

    Linux使用SCP进行文件传输本章内容基于CentOS6.5(32位)scp就是securecopy,是用来进行远程文件拷贝的。数据传输使用ssh,并且和ssh使用相同的认证方式,提供相同的安全保证。scp不需要安装额外的软件,使用起来简单方便,安全可靠且支持限速参数但是它不支持排除目录为了学习SCP命令我创建了3个Linux虚拟机,其ip地址分别位192.168.132.130、192.168.132.1…

    2022年8月22日
    8
  • eclipse汉化教程(官方汉化包,傻瓜式操作,附带中英文快捷切换方式)

    eclipse汉化教程(官方汉化包,傻瓜式操作,附带中英文快捷切换方式)eclipse汉化教程(官方汉化包,傻瓜式操作)首先到eclipseIDE中,点击‘Help’>‘Installnewsoftware…’在弹出的Install窗口中点击Add按钮Name任意填Location填https://download.eclipse.org/technology/babel/update-site/R0.18.3/2021-03/这里解释一下这个Location的出处,是在Eclipse官方的babel语言包project网页上找的,可能不是最

    2022年6月6日
    46
  • rocketmq延迟队列原理_rocketmq延迟队列原理

    rocketmq延迟队列原理_rocketmq延迟队列原理在java的延迟队列中,无法支持集群的延迟。Redis可以做到对应的延迟功能,但是自己封装毕竟局限于业务。而且封装也需要耗费一定时间。今天我们就讲一个现有的延迟队列,不仅支持分布式服务,而且解耦业务代码,而且支持不同延迟时间的造好的轮子吧。~那就是RocketMQ延时队列。RocketMQ将延时队列的延时延时时间分为18个级别123456789101112131415161718分别对应下面的延迟时间,在使用时,直接传递level即可。mess

    2025年6月11日
    4
  • 自监督学习 | (1) Self-supervised Learning入门

    自监督学习 | (1) Self-supervised Learning入门原文地址本文通过整理自监督学习的一系列工作,把主流方法分成三大类,方便大家更全面的了解自监督学习的定义、方法、用途。学习的范式我们首先来回顾下机器学习中两种基本的学习范式,如图所示,一种是监督学习,一种是无监督学习(林轩田课程中把机器学习范式分为监督学习、半监督学习、无监督学习以及强化学习)。监督学习利用大量的标注数据来训练模型,模型的预测和数据的真实标签产生损失后进行反向传播(计算梯度…

    2022年5月18日
    42
  • java异常中常见的问题

    java异常中常见的问题

    2021年10月2日
    43
  • Spring Batch 之 Hello World教程

    Spring Batch 之 Hello World教程SpringBatch之HelloWorld教程本文我们基于springboot和springbatch实现一个简单helloworld入门批处理程序。如果你刚刚接触springbatch,这篇教程会让你花最短时间理解springbatch框架。SpringBatch框架介绍开始代码之前,我们先了解框架中的核心组件,见下图:批处理过程有Job组成,job是封装整…

    2022年5月27日
    32

发表回复

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

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