zoukankan      html  css  js  c++  java
  • pytest-pytest.main()运行测试用例,pytest参数

    原文地址:https://blog.csdn.net/weixin_44006041/article/details/107934174

    本文介绍pytest.main运行测试用例的方法

    pytest.main():main中传入不同的指令用以执行指定测试用例

    -s: 显示程序中的print/logging输出

    -v: 丰富信息模式, 输出更详细的用例执行信息

    -q: 安静模式, 不输出环境信息

    -k:关键字匹配,用and区分:匹配范围(文件名、类名、函数名)

     test_module1.py

     1 def test_m1_1():
     2     print('这是 subpath1/test_module1.py::test_m1_1')
     3     assert 1==1
     4 
     5 def test_m1_2():
     6     print('这是 subpath1/test_module1.py::test_m1_2')
     7     assert 2==2
     8 
     9 def test_spec_1():
    10     print ('这是 subpath1/test_module1.py::test_spec_1')
    11     assert 2 == 2

    test_module2.py

     1 def test_m2_01():
     2     print('这是 subpath1/test_module1.py::test_m1_1')
     3     assert 1==1
     4 
     5 class TestM2():
     6     def test_m2_02(self):
     7         print ('这是 subpath2/test_module2.py::TestM2::test_m2_02')
     8         assert 1==1
     9 
    10     def test_pp(self):
    11         print ('这是 subpath2/test_module2.py::TestM2::test_pp')
    12         assert 1 == 1

    maintest.py

    1 import pytest
    2 
    3 if __name__ == '__main__':
    4     # 运行当前目录下所有(test_*.py  和 *_test.py)
    5     pytest.main()

    运行结果:

    1 ============================= test session starts =============================
    2 platform win32 -- Python 3.6.6rc1, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
    3 rootdir: E:studypythonstudyBasicKnowledgePointss5_framef001_pytest_用例运行
    4 collected 6 items
    5 
    6 subpath1	est_module1.py ...                                             [ 50%]
    7 subpath2	est_module2.py ...                                             [100%]
    8 
    9 ============================== 6 passed in 0.15s ==============================

     

    本文介绍pytest.main运行测试用例的方法pytest.main():main中传入不同的指令用以执行指定测试用例-s: 显示程序中的print/logging输出-v: 丰富信息模式, 输出更详细的用例执行信息-q: 安静模式, 不输出环境信息-k:关键字匹配,用and区分:匹配范围(文件名、类名、函数名)
    示例
    test_module1.py
    def test_m1_1():    print('这是 subpath1/test_module1.py::test_m1_1')    assert 1==1
    def test_m1_2():    print('这是 subpath1/test_module1.py::test_m1_2')    assert 2==2
    def test_spec_1():    print ('这是 subpath1/test_module1.py::test_spec_1')    assert 2 == 21234567891011test_module2.py
    def test_m2_01():    print('这是 subpath1/test_module1.py::test_m1_1')    assert 1==1
    class TestM2():    def test_m2_02(self):        print ('这是 subpath2/test_module2.py::TestM2::test_m2_02')        assert 1==1
        def test_pp(self):        print ('这是 subpath2/test_module2.py::TestM2::test_pp')        assert 1 == 1123456789101112maintest.py
    import pytest
    if __name__ == '__main__':    # 运行当前目录下所有(test_*.py  和 *_test.py)    pytest.main()12345运行结果:
    ============================= test session starts =============================platform win32 -- Python 3.6.6rc1, pytest-5.4.1, py-1.8.1, pluggy-0.13.1rootdir: E:studypythonstudyBasicKnowledgePointss5_framef001_pytest_用例运行collected 6 items
    subpath1 est_module1.py ...                                             [ 50%]subpath2 est_module2.py ...                                             [100%]
    ============================== 6 passed in 0.15s ==============================1234567891、运行指定路径下的用例
    pytest.main(['./'])               # 运行./目录下所有(test_*.py  和 *_test.py)1pytest.main (['./subpath1'])    # 运行./subpath1 目录下用例1pytest.main (['./subpath1/test_module1.py'])    # 运行指定模块1pytest.main (['./subpath1/test_module1.py::test_m1_1'])  # 运行模块中的指定用例1pytest.main (['./subpath2/test_module2.py::TestM2::test_m2_02'])  # 运行类中的指定用例1pytest.main (['-k','pp'])         # 匹配包含pp的用例(匹配目录名、模块名、类名、用例名)1pytest.main(['-k','spec','./subpath1/test_module1.py'])     # 匹配test_module1.py模块下包含spec的用例1pytest.main(['-k','pp','./subpath2/test_module2.py::TestM2'])   # 匹配TestM2类中包含pp的用例12、运行参数
    pytest.main(['-s','./subpath1/test_module1.py'])        # -s: 显示程序中的print/logging输出1运行结果:
    subpath1 est_module1.py 这是 subpath1/test_module1.py::test_m1_1.这是 subpath1/test_module1.py::test_m1_2.这是 subpath1/test_module1.py::test_spec_1.1234pytest.main(['-v','./subpath1/test_module1.py'])        # -v: 丰富信息模式, 输出更详细的用例执行信息1运行结果:
    subpath1/test_module1.py::test_m1_1 PASSED                               [ 33%]subpath1/test_module1.py::test_m1_2 PASSED                               [ 66%]subpath1/test_module1.py::test_spec_1 PASSED                             [100%]
    ============================== 3 passed in 0.06s ==============================12345pytest.main(['-q','./subpath1/test_module1.py'])        # -q: 安静模式, 不输出环境信息1运行结果:
    ...                                                                      [100%]3 passed in 0.06s12pytest.main(['-v','-s','./subpath1/test_module1.py'])        # 多个参数组合1运行结果:
    subpath1/test_module1.py::test_m1_1 这是 subpath1/test_module1.py::test_m1_1PASSEDsubpath1/test_module1.py::test_m1_2 这是 subpath1/test_module1.py::test_m1_2PASSEDsubpath1/test_module1.py::test_spec_1 这是 subpath1/test_module1.py::test_spec_1PASSED
    ============================== 3 passed in 0.10s ==============================————————————————版权声明:本文为CSDN博主「小白爱吃饭」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/weixin_44006041/article/details/107934174

  • 相关阅读:
    拥有5大核心竞争力的华为云GaussDB,成SACC2021最靓那一个…
    云小课 | 玩转HiLens Studio之手机实时视频流调试代码
    浅析决策树的生长和剪枝
    OCR性能优化:从认识BiLSTM网络结构开始
    520特辑丨码神VS爱神:盘点程序员的四大男友力,你偏爱哪一种?
    jQuery 筛选方法
    jQuery 选择器
    jQuery 基础知识
    JavaScript 小工具
    JavaScript Event
  • 原文地址:https://www.cnblogs.com/xjklmycw/p/14733196.html
Copyright © 2011-2022 走看看