使用pytest --help可以查看全部选项

  • -v:pytest -v 说明:可以输出用例更加详细的执行信息,比如用例所在的文件及用例名称等

  • -q(--quiet)

    该选项的作用与-v/--verbose的相反,简化输出信息。

  • -k

    -k 选项允许使用表达式指定希望执行的测试用例,例如:test_answer()   test_result()

    那么可以用表达式"answer or result"来筛选。结合-v或者--verbose查看是否符合预期,如下图:

  • -m

  标记(marker)用于标记测试并分组,以便快速选中并运行。以test_answer()  、 test_result1()为例,它们甚至都不在同一个文件里,如果希望同时运行它们,那么可以预先做好标记。

  这里使用什么标记名可以自定义,比如使用run_cases则可以用

@pytest.mark.run_cases这样的装饰器(decorator)来标记,如下所示:

给test_result()也做上同样的标记。有相同标记的测试用例,可以一起运行。使用

pytest -m run_cases

命令就可以同时运行test_answer()和test_result1()。如下图:

 使用-m选项还可以用表达式指定多个标记各。使用-m "mark1 and mark2"可以同时选中带有这两个标记的所有测试用例。使用-m "mark1 and not mark2"则会选中带有mark1的测试用例,而过滤带有mark2的测试用例;使用-m "mark1 or mark2"则选中带有mark1或者mark2的所有测试用例。

  • --lf(--last-failed)

只重新运行上次运行失败的用例(或如果没有失败的话会全部跑)如下图:

  • --ff(--failed-first)

    运行所有测试,但首先运行上次运行失败的测试(这可能会重新测试,从而导致重复的fixture setup/teardown)

  • --x

--exitfirst       遇到错误或者用例不通过,则退出执行.

第一个用例不通过,后面的用例都不执行

  • --maxfail=num

上面我们介绍-x, 它的作用是用例执行失败或者错误,就会停止执行。如果希望pytest失败几次后再停止,则可以使用--maxfail选项,指定执行失败次数。  如设置--maxfail=2,则需要遇到两次错误才会停止。

由于只有一个错误,所有可以正常执行后面的用例。下图设置--maxfail=1,遇到失败或者错误后,后面的用例不再执行。

  • -s

在运行测试脚本时,为了调试或打印一些内容,我们会在代码中加一些print内容,但是在运行pytest时,这些内容不会显示出来。如果带上-s,就可以显示了。

示例代码:

# -*- coding:utf-8 -*-__author__ = 'Eike'import pytestdef func(x):    return x + 1@pytest.mark.run_casesdef test_answer():    assert func(3) == 5def test_result():    assert func(2) == 3def test_pass():    assert func(4) == 5    print("这是打印的信息")if __name__ == '__main__':    pytest.main()

pytest--命令行参数的更多相关文章

  1. Python测试框架pytest命令行参数用法

    在Shell执行pytest -h可以看到pytest的命令行参数有这10大类,共132个 序号 类别 中文名 包含命令行参数数量 1 positional arguments 形参 1 2 gene ...

  2. pytest命令行参数

    1.-v:可以输出用例更加详细的执行信息,如下图 C:\Users\cale\checkapi\test_cc>pytest test_m1.py -v ==================== ...

  3. pytest框架之命令行参数2

    前言 上篇博客说到命令行执行测试用例的部分参数如何使用?今天将继续更新其他一些命令选项的使用,和pytest收集测试用例的规则! pytest执行用例命令行参数 --collect-only:罗列出所 ...

  4. pytest框架之命令行参数1

    前言 pytest是一款强大的python自动化测试工具,可以胜任各种类型或者级别的软件测试工作.pytest提供了丰富的功能,包括assert重写,第三方插件,以及其他测试工具无法比拟的fixtur ...

  5. pytest十二:cmd命令行参数

    命令行参数是根据命令行选项将不同的值传递给测试函数,比如平常在 cmd 执行”pytest —html=report.html”,这里面的”—html=report.html“就是从命令行传入的参数对 ...

  6. pytest封神之路第二步 132个命令行参数用法

    在Shell执行pytest -h可以看到pytest的命令行参数有这10大类,共132个 序号 类别 中文名 包含命令行参数数量 1 positional arguments 形参 1 2 gene ...

  7. Pytest 学习(二十五)- allure 命令行参数【转】

    先看看 allure 命令的帮助文档 cmd 敲 allure -h allure 命令的语法格式 allure [options] [command] [command options] optio ...

  8. Pytest 系列(27)- allure 命令行参数

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 先看看 allure 命令的帮助文 ...

  9. Pytest(13)命令行参数--tb的使用

    前言 pytest 使用命令行执行用例的时候,有些用例执行失败的时候,屏幕上会出现一大堆的报错内容,不方便快速查看是哪些用例失败. --tb=style 参数可以设置报错的时候回溯打印内容,可以设置参 ...

  10. python+pytest,通过自定义命令行参数,实现浏览器兼容性跑用例

    场景拓展: UI自动化可能需要指定浏览器进行测试,为了做成自定义配置浏览器,可以通过动态添加pytest的命令行参数,在执行的时候,获取命令行传入的参数,在对应的浏览器执行用例. 1.自动化用例需要支 ...

随机推荐

  1. 伪类和伪元素,review

    总是分不太清楚,然后容易忘记这个概念,项目中又遇到了,复习一遍 问题 1.哪些常用的伪类?伪元素? 怎么记: 除了4个伪元素,其他都是伪类 哪四个伪元素?:before :after :first-l ...

  2. 04Dropout

    不加Dropout,训练数据的准确率高,基本上可以接近100%,但是,对于测试集来说,效果并不好: 加上Dropout,训练数据的准确率可能变低,但是,对于测试集来说,效果更好了,所以说Dropout ...

  3. alert(1) to win 8

    function escape(s) { return '<script>console.log("' + s.toUpperCase() + '")</scri ...

  4. 线程工具类 - CyclicBarrier(循环栅栏)

    CyclicBarrier官方文档 一.原理 CyclicBarrier是另外一种多线程并发控制实用工具.它和CountDownLatch非常类似,它也可以实现线程的计数等待,但它的功能比CountD ...

  5. INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES

    [转] https://www.mobibrw.com/2016/3949 adb install 一个apk错误: INSTALL_FAILED_ALREADY_EXISTS 应用已存在,使用 ad ...

  6. 在idea中把springboot项目打成jar包遇到的问题(没有主清单属性)

    正确的姿势:<plugin> <groupId>org.springframework.boot</groupId> <artifactId>sprin ...

  7. Linux内核设计与实现 总结笔记(第三章)进程

    进程管理 进程:处于执行期的程序. 线程:在进程中活动的对象 虚拟机制 虚拟处理器:多个进程分享一个处理器 虚拟内存:多个线程共享虚拟内存 一.进程描述符和任务结构 进程存放在双向循环链表中(队列), ...

  8. [USACO17DEC]Barn Painting (树形$dp$)

    题目链接 Solution 比较简单的树形 \(dp\) . \(f[i][j]\) 代表 \(i\) 为根的子树 ,\(i\) 涂 \(j\) 号颜色的方案数. 转移很显然 : \[f[i][1]= ...

  9. [UOJ211][UER #6]逃跑

    题意:从原点出发,走\(n\)次,每次往四个方向中随机一个走,走每个方向有个概率,求所有方案走到过的点数的方差. 题解:orz kczno1 \(E*all=\sum (a_i-avg)^2*all= ...

  10. 20180805-Java ByteArrayInputStream类

    ByteArrayInputStream bArray = new ByteArrayInputStream(byte [] a); ByteArrayInputStream bArray = new ...