pytest使用mark跳过测试用例、测试类、测试模块

  对测试用例打标签,在运行测试用例时就可根据标签名进行过滤要运行的用例,所以可以设置只走主流程的用例

  使用方法:

  1、注册标签名

  2、在测试用例、测试类、测试模块文件前加:@pytest.mark.已注册的标签名

  3、运行:

    a)有命令行运行:pytest -m  ‘ 注册的标签名 ‘

    b)有以main函数运行: pytest.main( [ '-s',‘demo’ ] )

  

  注册标签名

  有两种方法注册标签名 

  1、创建pytest.ini文件,在文件中添加标签名,如:

    [ pytest ]

    markers =

      smoke:marks tests as slow (select with '-m' ) ---冒号后是可选的信息

      serial:

      test:

  2、创建conftest.py文件,通过hook函数注册

    a)单个标签名注册:

    def pytest_configure(config):

      config.addinivalue_line( ' markers', 'smoke: 标记为只运行冒烟用例')

    

    b)多个标签名注册:

    def pytest_configure(config):

      markers_list = ['smoke', 'serial', 'test']

      for i in markes_list:

        config.addinivalue_line('markers', i)

  

  在测试用例添加标签名

  1、在测试函数前加标签名

    

 

   

  2、在测试类前加标签名

    

 

 

  运行已加上标签名的用例

  两种方法

  1、在命令行中运行:pytest -m  ‘ 注册的标签名 ‘

  2、以main函数运行: pytest.main( [ '-m',‘demo’ ] ),此方法需保证是非unittest模式下运行

posted @ 2021-11-18 16:36  哩子吖  阅读(121)  评论(0)    收藏  举报