searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Pytest自动化测试框架介绍

2023-09-07 06:27:44
20
0

Python常用的测试框架

Python有几种常用的测试框架,包括:

  • unittest:这是Python标准库中自带的单元测试框架。它支持测试自动化、测试套件和测试报告生成等功能。
  • pytest:这是一个第三方单元测试框架,提供了简洁的语法来编写测试用例。它具有丰富的插件生态,并且能够支持简单的单元测试和复杂的功能测试。
  • nose:这也是一个第三方单元测试框架,它能够自动发现并运行测试用例。不过,nose目前已经进入维护模式,不再进行新的开发。

除了这些常用的测试框架,还有一些其他的选择,如Robot Framework、Behave和Lettuce等。你可以根据自己的需求选择合适的测试框架。

Pytest介绍

pytest是一个非常成熟的全功能的Python测试框架,它可以帮助你编写更好的程序。它能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests)。它具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等

Pytest安装

可以通过pip来安装pytest。在命令行中输入以下命令即可安装pytest:

pip install -U pytest

安装完成后,你可以通过运行以下命令来验证安装是否成功:

pytest --version

这将会显示当前已安装的pytest版本。

Pytest使用

要使用pytest,需要编写测试文件。测试文件的名称应该以test_开头或以_test结尾。在测试文件中,可以定义测试函数,它们的名称应该以test_开头。例如,下面是一个简单的测试文件示例:

# content of test_sample.py

def inc(x):

    return x + 1

 

def test_answer():

    assert inc(3) == 4

在这个示例中,我们定义了一个名为inc的函数,它接受一个参数并返回该参数加1的结果。然后我们定义了一个名为test_answer的测试函数,它使用断言语句来检查inc(3)的返回值是否等于4。

要运行这个测试文件,你可以在命令行中使用pytest命令并指定测试文件的名称:

pytest test_sample.py

pytest将自动发现并运行测试文件中的所有测试函数。如果所有测试都通过,pytest将输出类似于以下内容的信息:

============================= test session starts ==============================

platform linux -- Python 3.x.y, pytest-7.x.y, py-1.x.y, pluggy-1.x.y

rootdir: /home/user

collected 1 item

 

test_sample.py .                                                         [100%]

 

============================== 1 passed in 0.12s ===============================

如果有任何测试失败,pytest将输出详细的错误信息,帮助你诊断问题。

这只是pytest的基础用法。pytest还提供了许多高级功能,如参数化测试、模块化fixture和丰富的插件体系。可以访问pytest官方文档来了解更多关于如何使用pytest的信息。

 

Pytest失败用例复跑

在pytest中,你可以使用--lf(--last-failed)选项来只运行上一次失败的测试用例。例如,如果你在命令行中运行以下命令:

pytest --lf

那么pytest将只运行上一次失败的测试用例。如果所有测试都通过,那么pytest将不运行任何测试。

你也可以使用–ff(--failed-first)选项来先运行上一次失败的测试用例,然后再运行其他测试用例。例如,如果在命令行中运行以下命令:

pytest --ff

那么pytest将先运行上一次失败的测试用例,然后再运行其他测试用例。

Pytest常用插件

pytest有许多常用的插件,可以帮助你扩展pytest的功能。下面是一些常见的pytest插件:

  • pytest-xdist:这个插件可以让你并行运行测试,以加快测试速度。
  • pytest-cov:这个插件可以帮助你度量代码覆盖率。
  • pytest-html:这个插件可以生成HTML格式的测试报告。
  • pytest-mock:这个插件提供了一个

mockerfixture,可以帮助你轻松地创建和使用mock对象。

  • pytest-bdd:这个插件提供了对行为驱动开发(BDD)风格测试的支持。

这只是一小部分常用的pytest插件。可以在PyPI上搜索“pytest”来查看所有可用的pytest插件。

 

 

0条评论
0 / 1000
白****文
3文章数
0粉丝数
白****文
3 文章 | 0 粉丝
白****文
3文章数
0粉丝数
白****文
3 文章 | 0 粉丝
原创

Pytest自动化测试框架介绍

2023-09-07 06:27:44
20
0

Python常用的测试框架

Python有几种常用的测试框架,包括:

  • unittest:这是Python标准库中自带的单元测试框架。它支持测试自动化、测试套件和测试报告生成等功能。
  • pytest:这是一个第三方单元测试框架,提供了简洁的语法来编写测试用例。它具有丰富的插件生态,并且能够支持简单的单元测试和复杂的功能测试。
  • nose:这也是一个第三方单元测试框架,它能够自动发现并运行测试用例。不过,nose目前已经进入维护模式,不再进行新的开发。

除了这些常用的测试框架,还有一些其他的选择,如Robot Framework、Behave和Lettuce等。你可以根据自己的需求选择合适的测试框架。

Pytest介绍

pytest是一个非常成熟的全功能的Python测试框架,它可以帮助你编写更好的程序。它能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests)。它具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等

Pytest安装

可以通过pip来安装pytest。在命令行中输入以下命令即可安装pytest:

pip install -U pytest

安装完成后,你可以通过运行以下命令来验证安装是否成功:

pytest --version

这将会显示当前已安装的pytest版本。

Pytest使用

要使用pytest,需要编写测试文件。测试文件的名称应该以test_开头或以_test结尾。在测试文件中,可以定义测试函数,它们的名称应该以test_开头。例如,下面是一个简单的测试文件示例:

# content of test_sample.py

def inc(x):

    return x + 1

 

def test_answer():

    assert inc(3) == 4

在这个示例中,我们定义了一个名为inc的函数,它接受一个参数并返回该参数加1的结果。然后我们定义了一个名为test_answer的测试函数,它使用断言语句来检查inc(3)的返回值是否等于4。

要运行这个测试文件,你可以在命令行中使用pytest命令并指定测试文件的名称:

pytest test_sample.py

pytest将自动发现并运行测试文件中的所有测试函数。如果所有测试都通过,pytest将输出类似于以下内容的信息:

============================= test session starts ==============================

platform linux -- Python 3.x.y, pytest-7.x.y, py-1.x.y, pluggy-1.x.y

rootdir: /home/user

collected 1 item

 

test_sample.py .                                                         [100%]

 

============================== 1 passed in 0.12s ===============================

如果有任何测试失败,pytest将输出详细的错误信息,帮助你诊断问题。

这只是pytest的基础用法。pytest还提供了许多高级功能,如参数化测试、模块化fixture和丰富的插件体系。可以访问pytest官方文档来了解更多关于如何使用pytest的信息。

 

Pytest失败用例复跑

在pytest中,你可以使用--lf(--last-failed)选项来只运行上一次失败的测试用例。例如,如果你在命令行中运行以下命令:

pytest --lf

那么pytest将只运行上一次失败的测试用例。如果所有测试都通过,那么pytest将不运行任何测试。

你也可以使用–ff(--failed-first)选项来先运行上一次失败的测试用例,然后再运行其他测试用例。例如,如果在命令行中运行以下命令:

pytest --ff

那么pytest将先运行上一次失败的测试用例,然后再运行其他测试用例。

Pytest常用插件

pytest有许多常用的插件,可以帮助你扩展pytest的功能。下面是一些常见的pytest插件:

  • pytest-xdist:这个插件可以让你并行运行测试,以加快测试速度。
  • pytest-cov:这个插件可以帮助你度量代码覆盖率。
  • pytest-html:这个插件可以生成HTML格式的测试报告。
  • pytest-mock:这个插件提供了一个

mockerfixture,可以帮助你轻松地创建和使用mock对象。

  • pytest-bdd:这个插件提供了对行为驱动开发(BDD)风格测试的支持。

这只是一小部分常用的pytest插件。可以在PyPI上搜索“pytest”来查看所有可用的pytest插件。

 

 

文章来自个人专栏
自动化测试-存储
3 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0