美文网首页
测试入门以及pytest入门

测试入门以及pytest入门

作者: 转身丶即天涯 | 来源:发表于2019-09-29 13:47 被阅读0次

pytest出现的背景

python语言越来越流行,不单在软件开发领域,它还深入数据分析、科学研究、测量等领域。
随着python在这些领域的发展,高效可靠地进行软件测试变得尤为重要。
此外,越来越多的软件开发项目开始使用持续集成(CI, Continue Integration),而自动化测试正是其中重要的一环。
由于软件迭代周期的不断缩短,所以手工测试已经行不通了。项目团队必须确定测试结果时可靠的,才能放心地发布产品。
pytest就可以大显身手了。

pytest是什么?

pytest是一款强大的python测试工具,可以胜任各种类型或级别的软件测试工作,及时和开发团队、QA团队、独立的测试小组使用,又适合练习测试驱动开发(TDD)的个人,以及开源团队使用。
比起unittest和nose,pytest会提供更丰富的功能,包括assert重写、第三方插件,以及其他测试工具无法比拟的fixture模型。
此外pytest还有一些优势:

  • 简答的测试可以很简单地编写
  • 复杂的测试也可以很简答地编写
  • 测试的可读性强
  • 易于上手
  • 断言测试失败仅使用原生assert关键字,而不是self.assertEqual(), 或者self.assertLessThan()
  • pytest可以运行由unittest和nose编写的测试用例。

测试的种类

  • 单元测试:检查一小块代码(比如一个函数,或者一个类)的测试
  • 集成测试:检查大段的代码(比如多个类,或者一个子系统)的测试。集成测试的规模介于单元测试和系统测试之间。
  • 系统测试:检查整个系统的测试,通常要求测试环境尽可能接近最终用户的使用环境。
  • 功能测试:检查单个系统功能的测试。比如一个任务的增、删、改、查。
  • 皮下测试:不针对最终用户界面,而是针对用户界面以下的接口的测试。比如测试API。

第一个测试用例

下面我开始第一个测试用例的编写,首先新建一个项目,然后建一个叫test_one.py的文件,内容如下。

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

然后进入到项目目录,执行pytest test_one.py命令。


image.png

简单说一下控制台中的输出内容,第一个行是python版本,pytest版本等包的信息。第二行是运行pytest命令时所在的路径。第三行显示都安装了哪些pytest的插件。第四行,表明选取了多少个测试用例,我们这里是1个。然后空了一行,然后是模块名后跟个‘·’,表示一个测试通过,如果没有通过则是红色的‘F’。
最后一行,绿色的字体,对测试结果的汇总,显示通过了几个测试用例,总共耗时多久。

失败的测试用例

让我们添加一个明显的错误测试用例函数,故意让pytest测试失败,看看没通过的是什么样子的。

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


def test_error():
    assert 1 == 0
image.png

除了测试结果,还会显示没有用过的测试用例。会明确的告诉你在哪个模块的哪一行出了错误。

更详细的输出信息,-v --verbose

在执行pytest时还可以通过添加参数来看到更详细的信息。


image.png

-v和--verbose:其实都是指代同一个命令,只不过-v是--verbose的简写。

相关文章

  • 测试入门以及pytest入门

    pytest出现的背景 python语言越来越流行,不单在软件开发领域,它还深入数据分析、科学研究、测量等领域。随...

  • Python测试框架 - Pytest

    一 . Pytest 简介 Pytest是python的一种单元测试框架。 1. pytest 特点 入门简单,文...

  • pytest测试入门--简单使用

    title: pytest测试入门--简单使用date: 2019-06-14 15:57:08tags: 测试 ...

  • pytest学习框架

    pytest测试框架入门篇 1、测试框架功能及常用第三方插件详解2、测试用例编写规则、基础应用以及两种不同的运行方...

  • pytest 入门学习

    Pytest 入门学习 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 简单灵活,...

  • 自动化测试框架工具pytest教程1-快速入门

    第1章 快速入门 什么是pytest? pytest是强大的Python测试工具,它可以用于所有类型和级别的软件测...

  • 自动化测试框架pytest教程

    第1章 快速入门 什么是pytest? pytest是一个强大的Python测试工具,它可以用于所有类型和级别的软...

  • 自动化测试框架工具pytest教程

    第1章 快速入门 什么是pytest? pytest是一个强大的Python测试工具,它可以用于所有类型和级别的软...

  • Pytest学习1 -快速入门

    pytest特点 非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考能够支持简单的单元测试和复杂的功能测试...

  • Pytest测试实战_目录

    Updating... ... 第1章 pytest入门 11.1 资源获取 41.2 运行Pytest 51.3...

网友评论

      本文标题:测试入门以及pytest入门

      本文链接:https://www.haomeiwen.com/subject/ddxyyctx.html