pytest学习笔记01-测试用例收集规则

2021-01-15  本文已影响0人  失忆的蝴蝶

pytest官网:https://docs.pytest.org/en/stable/usage.html#cmdline

一、pytest 收集测试用例规则

1、收集测试用例的目录规则:

2、模块收集规则:

默认在目录下收集所有test_*.py*_test.py的模块

3、类和函数的收集规则

二、pytest执行方法

    - pytest命令  pytest [options] [file_or_dir] [file_or_dir] [...]
    - python 代码
        pytest.main(['-s', '-v'])  参数是一个字符串列表
    - 执行用例的顺序
        - 在模块级别采用模块名的ascii码顺序,在模块内部根据从上往下的定义顺序来执行。

-s,-v表示的意义

三、脚手架 fixture 前置后置 夹具

  1. 经典的xunit风格
    - 函数级(定义在模块中)
    - setup_function
    - teardown_function

         - 方法级(类中)
             - self.setup_method
             - self.teardown_method
         - 类级
             - 类方法
             - setup_class(cls)
             - teardown_class(cls)
         - 模块级别
             - setup_module
             - teardown_module
    
  2. unittest
    - 方法级
    self.setUp 前置
    self.tearDown后置
    - 类级
    setUpClass
    tearDownClass

  3. @pytest.fixture
    -定义
    - 通过装饰器@pytest.fixture可以定义夹具
    - 使用
    - 1. @pytest.mark.usefixtures(夹具的函数名字符串)
    - 2. 在测试函数中以夹具函数名作为参数
    - 使用这个夹具
    - 接受这个夹具返回值
    - 3. 通过yield语句实现后置
    - 作用范围 @pytest.fixture(scope='function')
    function 默认范围,函数范围,在测试完成后结束
    class 在类中最后一个测试完成后结束
    module 在模块中最后一个测试完成后结束
    package 在包中的最后一个测试完成后结束
    session 在一次会话中的最有一个测试完成后结束(整个项目)
    - 自动执行 @pytest.fixture(autouse=True)

上一篇下一篇

猜你喜欢

热点阅读