Novice学Pytest(1)-快速入门

一、前言

  pytest是什么,为什么要用pytest,pytest要怎么用。。。可能一开始很多小伙伴跟我一样(嘻嘻嘻,大神请绕路~),一直没搞懂pytest相关概念和应用。没有捷径,novice从头学起。me to...

二、pytest是什么

  pytest是Python下的第三方单元测试框架,相比unittest,pytest更容易上手,面试逼格也高~

三、为什么要用pytest

  1. 非常容易上手,入门简单
  2. 能够支持简单的单元测试和复杂的功能测试
  3. 支持参数化
  4. 执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的case标记成失败
  5. 支持重复执行(rerun)失败的 case
  6. 支持运行由 nose, unittest 编写的测试 case
  7. 可生成 html 报告
  8. 方便的和持续集成工具 jenkins 集成
  9. 可支持执行部分用例
  10. 具有很多第三方插件,并且可以自定义扩展

四、安装pytest

  1.cmd运行

  pip install -U pytest

  2.检查pytest的安装版本

  pytest --version或者pytest -V

五、创建2个简单测试

  1.编写2个简单测试脚本

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
__Title__   =
__Time__    =  2021/7/31 21:46
__Author__  =  Isaymore
__Blog__    =  https://www.cnblogs.com/huainanhai/
"""

def func(x):
    return x + 1
def test_answer():
    assert func(3) == 5
#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
__Title__   =
__Time__    =  2021/7/31 21:46
__Author__  =  Isaymore
__Blog__    =  https://www.cnblogs.com/huainanhai/
"""

class TestClass(object):
    def test_one(self):
        x = "this"
        assert 'h' in x

    def test_two(self):
        x = "hello"
        assert hasattr(x,'check')

  2.在pycharm中terminal命令行输入:pytest

  总结:

  1.只执行pytest,会发现当前目录和其子目录下test_*.py或*_test.py文件

  2.只想执行某个py文件,输入:pytest test_sample.py

  3.加上-q,表示简短输出,即显示简短的结果,输入:pytest -q test_sample.py

六、pytest用例的设计规则

  用pytest写用例时,一定要按照下面的规则写,否则不符合规则的测试用例不会被执行

  • 文件名为 test_*.py 文件和*_test.py
  • 以 test_ 开头的函数
  • 以 Test 开头的类,不能包含 __init__ 方法
  • 类里面以 test_ 开头的方法
  • 所有的包 package 必须要有__init__.py 文件

七、pytest用例执行规则

  1、当前目录和其子目录下所有的用例:pytest

  2、执行某个py文件的用例:pytest 脚本名称.py

  3、运行test_sample.py模块里面的某个函数,或者某个类,某个类里面的方法:加-v和不加-v都OK,加-v,即verbose,表示打印的信息更详细

  • pytest -v test_class.py::TestClass::test_one
  • pytest test_class.py::TestClass::test_one
  • pytest test_sample.py::test_answer

  4、-m 标记表达式:pytest -m login

  将运行用@pytest.mark.login装饰器修饰的所有测试

  5、-q 即quiet,表示简短输出,即显示简短的结果,只打印测试用例的执行结果,输入:pytest -q test_sample.py

  6、用例执行失败后停止测试:pytest -x test_sample.py

  7、用例失败个数达到指定数量后停止测试:pytest --maxfail=1 test_sample.py

  8、-k 匹配用例关键字:pytest -k "answer" test_sample.py

 

参考链接:https://www.cnblogs.com/poloyy/p/12641505.html

posted @ 2022-04-22 22:24  方缘  阅读(34)  评论(0编辑  收藏  举报