zoukankan      html  css  js  c++  java
  • Pytest 操作

    pytest各种自动化测试用例的代码

    官方文档给出了pytest寻找测试项(也就是测试用例)的具体规则:

    · 如果为指定命令行参数,则从testpath(如果已配置)或当前目录开始收集。

      如果命令行参数,指定了目录,文件名或 node id 的任何组合,则按参数来找

    · 寻找过程会递归到目录中,除非它们匹配上 norecursedirs.

    · 在这些目录中,搜索由其测试包名导入的 test_*.py或*_test.py文件。

    · 从这些文件中,收集如下测试项:

      · test为前缀的函数

      · Test(注意类为大写T)为前缀的类 里面的test为前缀的方法

    示例:

    首先,我们编写的测试用例代码文件,必须test_开头,或者以_test结尾(pytest 会根据命令 来识别哪些是自动化测试用例)

    比如,创建一个文件名为 test_错误登录.py, 放在目录autotestcaseslogin 下

    其中 autotest 是创建的自动化项目根目录

    代码:

    class Test_ercode:

    def test_C001001(self):
    print(' 用例C001001')
    assert 1 == 1

    def test_C001002(self):
    print(' 用例C001002')
    assert 2 == 2

    def test_C001003(self):
    print(' 用例C001003')
    assert 3 == 2

    项目命令行运行 pytest  查看结果

     显示找到3个测试项,2个执行通过,一个不通过。

    通过用例是用一个绿色小的表示, 不通过的检查点 显示代码细节

    用例代码中有些打印语句没有显示内容。

    因为pytes会 截获print打印内容

    如果要显示print内容,可以加上 命令行参数 -s  如: pytest -s

    如果要得到更详细的执行信息, 包括每个测试类,测试函数名字,可以加上-v 这个参数可以和-s 合并

    如:pytest -sv   (详细内容)

     产生报告

    测试报告需要一个 pytest-html插件 是用来产生测试报告的

    下载:pip install pytest-html

    要产生报告,在命令行加上参数 --html=report.html(自己命名的heml文件) --self-contained-html 如下:

    pytest --html=report.html --self-contained-html

    这样就会产生名为report.html的测试报告文件,可再浏览器打开

    注意:工具有个bug,导致测试目录,文件名,类名中 ,如果有中文,显示为乱码

    修复:

      打开插件对应的代码文件,通常在解析器目录下: site-packagespytest_htmlplugin.py

      找到代码:

    报告展示

     

        

  • 相关阅读:
    Django数据库查询优化-事务-图书管理系统的搭建
    模型层字段-多表查询-神奇的双下划线查询-F,Q查询
    Django的View(视图)-settings源码的解析-模板层-模板语法
    Django路由层与视图层
    Django框架的前奏(安装及介绍)
    面向对象的三大特性
    一,类的初识
    一,对象初识
    装饰器
    闭包
  • 原文地址:https://www.cnblogs.com/sunzzc/p/13284239.html
Copyright © 2011-2022 走看看