log4j控制台输出所有内容_详解pytest运行后控制台输出的内容

dca767721367b6e93911aefa8b39e2ba.png

用例入门

下面是一个可以通过的测试用例

def test_passing():    assert (1,2,3) == (1,2,3)

pytest test_one.py来运行,下图是输出结果

7b19b2f0201d717e8df370840593aad2.png

输出信息中,test_one.py后方的一个点号表示:运行了一个测试用例,且测试通过,在pytest后面几个-v,可以查看详细信息。

c84decb7b32f82aec2dad72f5f1d2972.png

下面再看一个测试失败的例子:

def test_passing():    assert (1,2,3) == (3,2,1)
776440ee327a4b0744ecec373a34d046.png

pytest有一块专门的区域显示测试失败的信息,能准确的指出失败的原因:At index 0 diff: 1 != 3。

使用-v查看详细错误信息

5509aa3e2bd640928c21db83e4dea891.png

详细的错误信息中,pytest添加了几个脱字符(^),准确的指出了前后的区别。

运行pytest

如果不提供任何参数,pytest会在当前目录以及子目录下寻找以test_开头或以_test结尾的测试函数测试文件,然后运行搜索到的测试代码。如果提供了一个或对个文件名、目录名,会逐个查找并运行所有测试,为了搜索到所有的测试代码,pytest会递归比那里每个目录及其子目录。

e92e5769eaf1becc5c1a7d37c93971a1.png
7ee71fe17e9c3e4c8d7f561733490366.png

只要遵循pytest的命名规则,pytest就能自动搜索到待执行的测试用例,

  • 测试文件应当命名为test_.py或者_test.py
  • 测试函数、测试类方法应当命名为test_
  • 测试类应该命名为Test

pytest执行完控制台输出的内容都是什么

test_three.py文件中有两个测试用例,运行一下后控制台的输出,依次为例来介绍

2d637fe92f0b436aa0bec5a262199ee5.png
  • test session starts

pytest为每段测试回话(session)做了明确的分割,一段回话就是pytest的一次调用,可能包括多个目录下被执行的测试用例。

  • platform darwin -- Python 3.8.0, pytest-5.3.2, py-1.8.0, pluggy-0.13.1

运行设备的信息和环境信息,包括python、pytest版本,py和pluggy都是pytest的包,用于pytest的实现。

  • rootdir: /Users/zhouyajun/PycharmProjects/geek/pytest_pratice/chapter1

rootdir是当前起始目录,是pytest搜搜测试代码的开始位置

  • collected 2 items

搜索范围内找到两个测试用例

  • tasks/test_three.py ..

tasks/test_three.py表示测试文件,每个测试文件的测试情况占据一行,两个点号表示两个测试用例都通过。

点号仅仅表示通过,Failure-失败,error-异常,skip-跳过,xfail-预期失败,xpass-预期失败。会被分别标记为F、E、s、x、X

  • 2 passed in 0.01s

表示测试通过的数量以及这段会话耗费的时间,如果存在未通过的用例,也会在这里标记出来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值