📝 单元测试框架教程

18篇技术文档
  单元测试框架教程

📅  最后修改于: 2020-12-03 05:25:49        🧑  作者: Mango

UnitTest Framework是一种测试方法论,通过它可以测试源代码的各个单元(例如函数,方法和类),以确定它们是否适合使用。这是一个简短的教程,解释了UnitTest Framework的功能。本教程已为初学者准备,以帮助他们了解UnitTest Framework框架的基本功能。完成本教程后,您将发现自己在使用UnitTest Framework框架方面具有中等水平的专业知识,从这里您可...

  UnitTest框架-概述

📅  最后修改于: 2020-12-03 05:26:10        🧑  作者: Mango

单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元(例如功能,方法和类),以确定它们是否适合使用。直观地,人们可以将一个单元视为应用程序中最小的可测试部分。单元测试是程序员在开发过程中创建的简短代码片段。它构成了组件测试的基础。单元测试可以通过以下两种方式完成-Manual TestingAutomated TestingExecuting the test cases manuall...

  单元测试框架-框架

📅  最后修改于: 2020-12-03 05:26:35        🧑  作者: Mango

“ unittest”支持测试自动化,共享测试的设置和关闭代码,将测试聚合到集合中以及使测试脱离报告框架。unittest模块提供的类可轻松支持一组测试的这些质量。为此,unittest支持以下重要概念-测试装置-这表示执行一个或多个测试所需的准备工作,以及任何相关的清理操作。例如,这可能涉及创建临时或代理数据库,目录或启动服务器进程。测试用例-这是最小的测试单元。这将检查对一组特定输入的特定响应...

  单元测试框架-API

📅  最后修改于: 2020-12-03 05:27:25        🧑  作者: Mango

本章讨论unittest模块中定义的类和方法。此模块中有五个主要类。TestCase类此类的对象表示最小的可测试单元。它包含测试例程,并提供钩子以准备每个例程并在之后进行清理。在TestCase类中定义了以下方法-Sr.No.Method & Description1setUp()Method called to prepare the test fixture. This is called i...

  单元测试框架-断言

📅  最后修改于: 2020-12-03 05:28:10        🧑  作者: Mango

Python测试框架使用Python的内置assert()函数来测试特定条件。如果断言失败,将引发AssertionError。然后,测试框架会将测试标识为“失败”。其他异常被视为错误。在unittest模块中定义了以下三组断言函数-基本布尔断言比较断言集合断言基本的断言函数评估操作的结果是True还是False。所有的assert方法都接受一个msg参数,如果指定该参数,该参数将用作失败时的错误...

  UnitTest框架-测试发现

📅  最后修改于: 2020-12-03 05:28:26        🧑  作者: Mango

TestLoader类具有discover()函数。 Python测试框架将其用于简单的测试发现。为了兼容,包含测试的模块和软件包必须可从顶层目录导入。以下是测试发现的基本命令行用法-解释器尝试递归地从当前目录和内部目录加载包含测试的所有模块。其他命令行选项是-Sr.No.Options & Description1-v, –verboseVerbose output2-s, –start-dir...

  单元测试框架-跳过测试

📅  最后修改于: 2020-12-03 05:28:48        🧑  作者: Mango

自Python 2.7起增加了对跳过测试的支持。可以有条件地或无条件地跳过单个测试方法或TestCase类。该框架允许将某个测试标记为“预期失败”。该测试将“失败”,但在TestResult中不会被视为失败。要无条件地跳过方法,可以使用以下unittest.skip()类方法-由于skip()是一个类方法,因此以@标记为前缀。该方法有一个参数:描述跳过原因的日志消息。执行以上脚本后,控制台上将显示...

  UnitTest框架-异常测试

📅  最后修改于: 2020-12-03 05:29:11        🧑  作者: Mango

Python测试框架提供了以下断言方法来检查是否引发了异常。assertRaises(exception,callable,* args,** kwds)测试使用任何位置或关键字参数调用函数时是否引发异常(第一个参数)。如果引发了预期的异常,则测试通过;如果引发了另一个异常,则测试通过;如果未引发异常,则测试通过。为了捕获一组异常中的任何一个,可以将包含异常类的元组作为异常传递。在下面的示例中,定...

  UnitTest框架-时间测试

📅  最后修改于: 2020-12-03 05:29:25        🧑  作者: Mango

Java单元测试框架Junit(Pyunit是JUnit的实现)具有方便的超时选项。如果测试花费的时间超过指定的时间,它将被标记为失败。Python的测试框架不包含任何超时支持。但是,称为超时装饰器的第三方模块可以完成此工作。从以下位置下载并安装模块:https:// pypi。 Python.org / packages / source / t / timeout-decorator / ti...

  UnitTest框架-Unittest2

📅  最后修改于: 2020-12-03 05:29:41        🧑  作者: Mango

unittest2是在Python 2.7及更高版本中添加到Python测试框架的其他功能的反向移植。经过测试可在Python 2.6、2.7和3. *上运行。可以从https:// pypi下载最新版本。 Python.org / pypi / unittest2要使用unittest2代替unittest,只需将import unittest替换为import unittest2。unitte...

  UnitTest框架-信号处理

📅  最后修改于: 2020-12-03 05:30:03        🧑  作者: Mango

-c /-catch命令行选项unittest和catchbreak参数一起提供了在测试运行期间对control-C的更有效处理。启用捕获中断行为后,control-C将允许当前运行的测试完成,然后测试运行将结束并报告到目前为止的所有结果。第二个Control-c将以通常的方式引发KeyboardInterrupt。如果调用了unittest处理程序但未安装signal.SIGINT处理程序,则它...

  单元测试框架-Doctest

📅  最后修改于: 2020-12-03 05:30:32        🧑  作者: Mango

Python的标准发行版包含“ Doctest”模块。该模块的功能使搜索类似于交互式Python会话的文本片段成为可能,并执行这些会话以查看它们是否完全按照所示方式工作。Doctest在以下情况下非常有用-通过验证所有交互式示例是否仍按文档说明工作,以检查模块的文档字符串是否最新。通过验证来自测试文件或测试对象的交互式示例是否按预期工作来执行回归测试。编写软件包的教程文档,并通过输入输出示例进行详...

  单元测试框架-Doctest API

📅  最后修改于: 2020-12-03 05:31:08        🧑  作者: Mango

doctest API围绕以下两个容器类,这些容器类用于存储来自docstrings的交互式示例-示例-单个Python语句及其预期输出。DocTest-示例的集合,通常从单个文档字符串或文本文件中提取。定义了以下其他处理类以查找,解析和运行以及检查doctest示例-DocTestFinder-查找给定模块中的所有文档字符串,并使用DocTestParser从每个包含交互式示例的文档字符串创建D...

  单元测试框架-Py.test模块

📅  最后修改于: 2020-12-03 05:31:29        🧑  作者: Mango

正是在2004年,Holger Krekel重命名了他的std软件包(其名称经常与Python附带的标准库的名称混为一谈),命名为py。尽管该程序包包含几个子程序包,但现在几乎完全以其py.test框架而闻名。py.test框架为Python测试建立了新的标准,并在当今许多开发人员中变得非常流行。它为测试编写引入的优雅而Pythonic的习惯用法使测试套件可以以更紧凑的样式编写。py.test是P...

  鼻子测试-框架

📅  最后修改于: 2020-12-03 05:31:52        🧑  作者: Mango

在py.test获得现代外观的第二年,鼻子项目于2005年发布。它由Jason Pellerin编写,以支持py.test所倡导的相同测试习惯用法,但采用易于安装和维护的软件包。鼻子模块可以在pip实用程序的帮助下安装这会将鼻子模块安装在当前的Python发行版中,以及鼻子测试.exe,这意味着可以使用此实用程序以及–m开关来运行测试。鼻子从unittest.TestCase子类中收集测试。我们还...