功能

1.能组织多个用例去执行

2.提供丰富的断言方法

3.提供丰富的日志与测试结果

核心要素

1.TestCase

2.TestSuite

3.TextTestRunner

4.Fixture

用法

1.TestCase

import unittest
'''
类,方法必须以test开头
''' def add(a,b):
return a+b class TestCase01(unittest.TestCase):
def testcase_01(self):
print("testcase_01")
print(add(2,2))
self.assertEqual(3,add(2,2)) def testcase_02(self):
#alt +鼠标连选,一起修改
print("testcase_02") def testcase_03(self):
print("testcase_03")
print(add(3,2)) class TestCase02(unittest.TestCase):
def testcase_01(self):
print("TestCase02_testcase_01")def testcase_02(self):
print("TestCase02_testcase_02") def testcase_03(self):
print("TestCase02_testcase_03")if __name__=='__main__':
#用main来执行,多线程没有规律
unittest.main()

该文件可以执行单个测试用例,鼠标选中要执行的用例,右键,

也可以整个类一起执行,鼠标点中要执行的class,右键选择上图同样的按钮

还可以整个文件一起运行,利用main函数

2.TestSuite,3.TextTestRunner

挑选用例执行,最大范围是测试类

TextTestRunner执行测试用例

import unittest
#导入类
from unitTest.testcase import TestCase01, TestCase02 suite=unittest.TestSuite()
#添加测试用例:以测试用例类中的每一种方法为单位进行添加
suite.addTest(TestCase02("testcase_02")) #添加测试用例:以测试用例类为单位进行添加
suite.addTest(unittest.makeSuite(TestCase01))
#cltrl+d 复制粘贴 #利用TextTestRunner运行测试用例
runner=unittest.TextTestRunner()
runner.run(suite)
总结:
以测试用例类中的每一种方法为单位进行添加
suite.addTest(TestCase02("testcase_02"))
以测试用例类为单位进行添加
suite.addTest(unittest.makeSuite(TestCase01))

4、discover

挑选用例执行,可以选择python文件

import unittest

#用例文件的路径  ./cases 路径,test*.py 执行操作的文件
discover = unittest.defaultTestLoader.discover("./cases",pattern='test*.py')
runner=unittest.TextTestRunner()
runner.run(discover)

5、断言

import unittest
'''
类,方法必须以test开头
''' def add(a,b):
return a+b class TestCase01(unittest.TestCase):
def testcase_01(self):
print("testcase_01")
print(add(2,2))
try:
self.assertEqual(4,add(1,2))
except AssertionError as e:
print("报错信息",e)
raise

UnitTest 用法的更多相关文章

  1. 常见的python的unittest用法

    python的unittest好处是通过python脚本编写用例,每个用例可以单独调试初始化和清理动作,因为都是用例都是代码所以调试起来也很方便:它的缺点是得先学会python,难易程度见仁见智吧,对 ...

  2. python接口自动化(二十一)--unittest简介(详解)

    简介 前边的随笔主要介绍的requests模块的有关知识个内容,接下来看一下python的单元测试框架unittest.熟悉 或者了解java 的小伙伴应该都清楚常见的单元测试框架 Junit 和 T ...

  3. Tornado学习

    为什么用Tornado? 异步编程原理 服务器同时要对许多客户端提供服务,他的性能至关重要.而服务器端的处理流程,只要遇到了I/O操作,往往需要长时间的等待.   屏幕快照 2018-10-31 上午 ...

  4. Pytest学习(三) - setup和teardown的使用

    一.前言 从文章标题可以看出,就是初始化和释放的操作,根据我的java习惯来学习pytest,个人感觉没差太多,理解上也不是很难. 哦,对了,差点跑题了,这个框架是基于Python语言的,在学习的时候 ...

  5. 测试教程网.unittest教程.2. 基本用法

    From: http://www.testclass.net/pyunit/basic_example/ 我们通过最简单的例子来看一下unittest的基本用法,下面的代码测试了3个python字符串 ...

  6. PyUnit (unittest) 的用法

    PyUnit(unittest) 是 Python 自带的单元测试框架,用于编写和运行可重复的测试.PyUnit 是 xUnit 体系的一个成员,xUnit 是众多测试框架的总称,PyUnit 主要用 ...

  7. unittest 的用法

    一.discover方法 discover方法可以根据标准加载用例,并将结果返回给测试套件(suite),start_dir:待测试的目录,pattern:测试用例文件名的匹配规. 如: start_ ...

  8. unittest框架概要

    unittest是Python语言自带的单元测试框架,原名PyUnit. 认识unittest 在unittest框架中有4个重要概念:test fixture.test case.test suit ...

  9. unittest单元测试框架总结

    unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果.今天笔者 ...

随机推荐

  1. Android系统编程入门系列之应用环境及开发环境介绍

        作为移动端操作系统,目前最新的Android 11.0已经发展的比较完善了,现在也到了系统的整理一番的时间,接下来的系列文章将以Android开发者为中心,争取用归纳总结的态度对初级入门者所应 ...

  2. 「题解」agc031_c Differ by 1 Bit

    本文将同步发布于: 洛谷博客: csdn: 博客园: 简书: 题目 题目链接:洛谷 AT4693.AtCoder agc031_c. 题意概述 给定三个数 \(n,a,b\),求一个 \(0\sim ...

  3. linux远程和软件包的管理

    远程管理 ssh   用户名@对方IP地址 -X   在本地可以运行对方的图形程序 端口 22 [root@room9pc01 ~]# ssh root@172.25.0.11 [root@serve ...

  4. Centos7 安装 Cacti 1.2

    1. 安装web server(略) 注意系统时间/时区 ntp server是否定时同步 2. 安装 mysql 5.7 (略) 安装成功后 2.1 编辑 my.ini 文件在 [mysqld] 下 ...

  5. 【NX二次开发】Block UI 双精度表

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  6. 【NX二次开发】导出x_t、导入x_t例子,UF_PS_export_data、UF_PS_import_data

    获取blockUI 体收集器选择的体,导出x_t: std::vector<TaggedObject*>objects = bodySelect0->GetSelectedObjec ...

  7. Spring Cloud Gateway简单入门,强大的微服务网关

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 见名知义,Spring Cloud Gateway是用于微服务场景的网关组件,它是基于Spring WebFlu ...

  8. oracle中如何处理null

    从两个表达式返回一个非 null 值.语法NVL(eExpression1, eExpression2)参数eExpression1, eExpression2如果 eExpression1 的计算结 ...

  9. 基于ILI9341的TFT液晶显示模组LCM240320详解(1)

    Hello,大家好,今天我们来讨论当下非常流行的TFT液晶显示模组,它最大的特点是可以显示出效果非常好的彩色信息,绝大多数手机.液晶显示器,液晶电视.MID.MP4等产品都在使用它,你想抗拒它的魅力还 ...

  10. 无法在源“”处找到包“entityframework”

    当在程序包管理器控制台安装ef时出现这个 出现这种情况可能是程序包源不对 我的是由于之前项目的源有一个内网平台的,把这个取消勾选就能安装成功了 上图设置路径为工具-NuGet包管理器-管理解决方案的N ...