美文网首页
01pytest命运运行

01pytest命运运行

作者: 阿登20 | 来源:发表于2021-04-25 21:33 被阅读0次

    pycharm运行方式更换成pytest

    • 方式一如下图


      image.png
    image.png
    • 方式2


      image.png

    pytest的有点

    1. 自动发现用例,不像unittest需要加入测试套件suite

    2.断言简单,只需要关键字assert

    1. 可以在pytest.ini指定测试用例的运行

    4.环境管理灵活(函数级 类级 模块级 会话级)

    5.丰富的插件,比如失败重运行插件 hmtl插件

    1. 继承allure 美轮美奂的报告

    7.contest.py 共享前置后置,不想unittest只能 函数级和类级。pytest还可以模块 和会话级

    pytest搜寻用例的原则

    用例设计规则
    1、模块:符合命名规则test_py或者test.py 以test开始的py文件或者test结尾的py文件
    2、以test
    开头的函数名
    3、以Test开头的测试类(没有init函数)当中,以test_开头的函数
    4、测试文件所在的包必须要有"init.py"文件

    pytest的运行方式

    • pytest
    • pytest -m pytest
    • python代码 python,main([模块])

    test_01.py

    import time
    def test_01():
        print("------------")
        assert 1==1
    
    class TestPy:
    
        def test_1(self):
            time.sleep(1)
            print(1)
            assert 1==1
    
        def test_2(self):
            time.sleep(2)
            print(1)
            assert 1 == 2
    
        def test_3(self):
            time.sleep(3)
            print(1)
            assert 1 == 1
    
        def test_0(self):
            time.sleep(4)
            print(0)
            assert 1 == 4
    

    1、某个目录下所有的用例
    pytest
    2、执行某一个 py 文件下用例
    pytest 脚本名称.py
    3、运行start.py 模块里面的某个函数,或者某个类,某个类里面的方法
    加v和不加-v都可以,加-v的话,打印的信息更详细
    pytest -v tes_t01.py::TestClass

    pytest tes_t01.py::TestClass::test_1

    pytest test_01.py::test_01

    4.pytest - k "ClassName or 文件名" 进行过滤

    image.png
    5.-k 同时匹配不同的用例名称
    pytest -s -k "test_01 or TestPy.test_01" test_01.py
    1. pytest --durations=2 显示耗时最长的2个用例
      image.png
      参数用法大致如下这么多 多的不用去了解
      image.png

    常用断言

    pytest 里面断言实际上就是 python 里面的 assert 断言方法,常用的有以下几种
    assert xx :判断 xx 为真
    assert not xx :判断 xx 不为真
    assert a in b :判断 b 包含 a
    assert a == b :判断 a 等于 b
    assert a != b :判断 a 不等于 b

    相关文章

      网友评论

          本文标题:01pytest命运运行

          本文链接:https://www.haomeiwen.com/subject/pudjrltx.html