python:单元测试框架pytest的一个简单例子

之前一般做自动化测试用的是unitest框架,发现pytest同样不错,写一个例子感受一下

test_sample.py

import cx_Oracle
import config
from send_message import send_message
from insert_cainiao_oracle import insert_cainiao_oracle


def test_cainiao_monitor():
    """
    查询数据库信息对比数据是否满足要求,如不满足则发送短信通知,并写入数据库。
    :return:
    """
    sql = "select COUNT(*) from AVGINDEX t WHERE t.STATDATE = '2019-09-11'"

    conn = cx_Oracle.connect(config.name, config.password, config.host_port_sid)
    cursor = conn.cursor()
    cursor.execute(sql)
    data = cursor.fetchall()
    print(data)
    print(data[0][0])
    conn.commit()
    cursor.close()  # 关闭游标
    conn.close()  # 关闭数据库连接

    try:
        assert data[0][0] == 18
    # 如断言失败,则会抛出AssertionError异常,将此异常捕获,继续执行下面的发送短信和插入数据库操作,
    # 如果不捕获则断言失败后不继续执行下方代码
    except AssertionError as e:
        print('断言失败了')
        print(e)
        content = '查询结果为%s条,不等于18条!' % data[0][0]
        # 发短信方法
        send_message(content, [18*********])
        # 信息入库方法
        insert_cainiao_oracle(1, content)

执行命令:

pytest test_sample.py --html=report.html

执行test_sample.py这个文件中的所有测试函数,并将执行结果输出到report.html报告中

 

 

转载于:https://www.cnblogs.com/gcgc/p/11512733.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值