zoukankan      html  css  js  c++  java
  • python测试框架:pytest

    • 支持参数化
    • 能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests)
    • pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等
    • 测试用例的skip和xfail处理
    • 可以很好的和jenkins集成
    • report框架----allure 也支持了pytest

    一  使用pytest执行测试需要遵循的规则:

    .py测试文件必须以test_开头(或者以_test 结尾)
    测试类必须以Test开头,并且不能有方法init;

    测试方法以test_开头

    断言必须使用assert;

    二 fixture

    pytest 中fixture实现unittest 中类似setUp /tearDown 功能,fixture可以只在执行某几个特定的case前运行;

    yield :执行完之后需要清除数据 

    #!/usr/bin/env python
    #coding=utf-8
    import pytest

    @pytest.fixture(scope='function')
    def login():
        print("登录")
        yield
        print("注销登录")

    def test_1():
        print('测试用例1')

    def test_2(login):
        print('测试用例2')

    if __name__=="__main__" :
        pytest.main(['test_sample.py','-s'])

    pytest.main():

     pytest.main(['test_sample.py','-s'])

    可以指定参数和路径
    (1)‘-s’:关闭捕捉,输出打印信息。
    (2)‘-v’:用于增加测试用例的冗长。
    (3)‘-k’ :运行包含某个字符串的测试用例。如:pytest -k add XX.py 表示运行XX.py中包含add的测试用例。
    (4)‘q’:减少测试的运行冗长。
    (5)‘-x’:出现一条测试用例失败就退出测试。在调试阶段非常有用,当测试用例失败时,应该先调试通过,而不是继续执行测试用例。

  • 相关阅读:
    Python Try Except
    Python 爬虫常用模块
    numpy中的数学
    机器学习名词
    numpy 矩阵变换transpose和swapaxes
    【Spark-core学习之四】 Spark任务提交
    【Spark-core学习之三】 Spark集群搭建 & spark-shell & Master HA
    【Spark-core学习之二】 RDD和算子
    【Spark-core学习之一】 Spark初识
    【Scala学习之二】 Scala 集合 Trait Actor
  • 原文地址:https://www.cnblogs.com/xiaochengzi2018/p/12191972.html
Copyright © 2011-2022 走看看