zoukankan      html  css  js  c++  java
  • python-pytest学习(十一)-自定义标记mark

    一、前言

      pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,让指定模块模块名称执行。APP自动化的时候,如果想android和ios共用一套代码时,也可以使用标记功能,标明哪些是ios用例,哪些是android用例,运行代码时候指定mark名称运行就可以。

    二、mark标记

      以下用例,标记test_send_http()为webtest

    import pytest
    
    @pytest.mark.webtest
    def test_send_http():
        pass  # perform some webtest test for your app
    
    def test_something_quick():
        pass
    
    def test_another():
        pass
    
    class TestClass:
        def test_method(self):
            pass
    
    if __name__ == "__main__":
        pytest.main(["-s","test_server.py","-m=webtest"])

      只运行用webtest标记的测试,cmd运行的时候,加个-m参数,指定参数值webtest

    pytest -v -m webtest

      如果不想执行标记webtest的用例,那就用“not webtest”

    pytest -v -m "not webtest"
    import pytest
    
    @pytest.mark.webtest
    def test_send_http():
        pass  # perform some webtest test for your app
    
    def test_something_quick():
        pass
    
    def test_another():
        pass
    
    class TestClass:
        def test_method(self):
            pass
    
    if __name__ == "__main__":
        pytest.main(["-s","test_server.py","-m='not webtest'"])

    三、-v 指定的函数节点id

      如果想指定运行某个.py模块下,类里面的一个用例,如:TestClass里面testmethod用例

      每个test开头(或_test结尾)的用例,函数(或方法)的名称就是用例的节点id,指定节点id运用-v参数。

    pytest -v test_server.py::TestClass::test_method

      当然也能现在运行整个class

    pytest -v test_server.py::TestClass

      也能选择多个节点运行,多个节点中间空格隔开

    pytest -v test_server.py::TestClass test_server.py::test_send_http

    四、-k匹配用例名称

      可以使用-k命令选项指定在匹配用例名称的表达式

    pytest -v -k http

      您也可以运行所有的测试,根据用例名称排除掉某些用例:

    pytest -k “not send_http” -v

      也可以同时选择匹配“http”和“quick”

    pytest -k "http or quick" -v

    参考文章:https://www.jianshu.com/p/e87062fab197

  • 相关阅读:
    购买 Linux VPS 服务器后简单的安全设置
    VPS性能测试:CPU内存,硬盘IO读写,带宽速度,UnixBench和压力测试
    Polysh实现多服务器批量执行shell
    第十一周编程总结
    第十周作业
    第九周编程总结修改
    第九周编程总结
    第八周编程总结
    第7周编程总结
    第七周编程总结啊
  • 原文地址:https://www.cnblogs.com/zhaocbbb/p/12842765.html
Copyright © 2011-2022 走看看