zoukankan      html  css  js  c++  java
  • pytest文档53-命令行实时输出错误信息(pytest-instafail)

    前言

    pytest 运行全部用例的时候,在控制台会先显示用例的运行结果(.或F), 用例全部运行完成后最后把报错信息全部一起抛出到控制台。
    这样我们每次都需要等用例运行结束,才知道为什么报错,不方便实时查看报错信息。
    pytest-instafail 插件可以在运行用例的时候,需实时查看用例报错内容,这样方便跟踪问题。

    --instafail

    执行全部用例,报错内容等用例运行完成才显示出来

    >pytest
    ============================= test session starts =============================
    
    collected 11 items
    
    test_s.py ..                                                             [ 18%]
    test_t.py ...                                                            [ 45%]
    test_x.py .F.F                                                           [ 81%]
    test_y.py ..                                                             [100%]
    
    ================================== FAILURES ===================================
    ___________________________________ test_02 ___________________________________
    
        def test_02():
            a = "hello"
            b = "hello world"
    >       assert a == b
    E       AssertionError: assert 'hello' == 'hello world'
    E         - hello
    E         + hello world
    
    test_x.py:12: AssertionError
    ___________________________________ test_04 ___________________________________
    
        def test_04():
            a = "hello"
            b = "hello world"
    >       assert a not in b
    E       AssertionError: assert 'hello' not in 'hello world'
    E         'hello' is contained here:
    E           hello world
    
    test_x.py:24: AssertionError
    ===================== 2 failed, 9 passed in 1.32 seconds ======================
    

    当用例很多的时候,不方便我们查看具体哪个报错对应哪条用例,加上--instafail参数,方便实时查看报错内容

    >pytest --instafail
    ============================= test session starts =============================
    
    collected 11 items
    
    test_s.py ..                                                             [ 18%]
    test_t.py ...                                                            [ 45%]
    test_x.py .F
    
    ___________________________________ test_02 ___________________________________
    
        def test_02():
            a = "hello"
            b = "hello world"
    >       assert a == b
    E       AssertionError: assert 'hello' == 'hello world'
    E         - hello
    E         + hello world
    
    test_x.py:12: AssertionError
    
    test_x.py .F
    
    ___________________________________ test_04 ___________________________________
    
        def test_04():
            a = "hello"
            b = "hello world"
    >       assert a not in b
    E       AssertionError: assert 'hello' not in 'hello world'
    E         'hello' is contained here:
    E           hello world
    
    test_x.py:24: AssertionError
    
    test_y.py ..                                                             [100%]
    
    ===================== 2 failed, 9 passed in 1.37 seconds ======================
    

    结合--tb=line参数,看起来更直观

    >pytest --instafail --tb=line
    ============================= test session starts =============================
    collected 11 items
    
    test_s.py ..                                                             [ 18%]
    test_t.py ...                                                            [ 45%]
    test_x.py .F
    
    D:	est_x.py:12: AssertionError: assert 'hello' == 'hello world'
    
    test_x.py .F
    
    D:	est_x.py:24: AssertionError: assert 'hello' not in 'hello world'
    
    test_y.py ..                                                             [100%]
    
    ===================== 2 failed, 9 passed in 1.30 seconds ======================
    
  • 相关阅读:
    Gerrit 系统初探 (已转移到 https://steemit.com/gerrit/@linvictor88/gerrit )
    Iaas概述
    题解西电OJ (Problem 1007 -做一名正气的西电人 )--长整型计算
    题解西电OJ (Problem 1005 -跳舞毯)--动态规划
    题解西电OJ (Problem 1004 -亚特兰提斯)--最小生成树
    题解西电OJ (Problem 1003 -最喜欢的数字)--动态规划
    题解西电OJ (Problem 1008
    题解西电OJ (Problem 1006
    HTML-css selector
    Android--应用开发3(Android layout XML属性)
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/13626256.html
Copyright © 2011-2022 走看看