unittest 被称作Python版本的JUnit,或称PyUnit。

unittest的重要4个概念:

1.test fixture 测试固件

2.test case 测试用例

3.test suite 测试套件:就是一组测试用例

4.test runner 测试运行器

一、测试用例

  unittest框架通过TestCase类来构建测试用例,并要求所有自定义的测试类都必须继承该类,它是所有测试用例的基类,传入一个方法名,将返回一个测试用例实例。

  TestCase 的子类中实现测试用例的代码既可以单独运行,也可以和其他测试用例构成测试用例集,然后批量执行

  TestCase子类从父类继承的几个特殊的方法,在测试用例执行时均会被定义执行:

   1.setUp() ,测试前的初始化工作

   2.tearDown(),测试后的清理工作

   3.setUpClass(),在setUp()函数之前,只支持一次,必须使用@classmethod装饰器进行修饰

   4.tearDownClass()

  注意:采用上述动态,需要被执行的测试方法都必须以“test”开头

二、按照特定顺序执行测试用例集合

  被测代码文件 Calc.py

  #coding = utf -8

  class Calc(Object):

    def  sub(self,x,y,*d)

    #减法计算

    result = x -y

    for i in d:

      result -=i

  测试代码文件test.py

  #coding = utf -8

  import unittest

  from Calc import Calc

  class MyTest(unittest.TestCase):

    @Classmethod

    def setupClass(cals):

      cals.c = Calc()

    def test_sub(self):

      self.assertEqual(MyTest.c.sub(1,2,3),-4,'test sub fail')

  if __name__ == '_main_':

    unittest.main()  #启动

..................

  对最后启动进行修改,指定顺序:

  

  if __name__ == '_main_':

    suite = unittest.TestSuite()

    sutie.addTest(Mytest("test_sub")) #添加到测试容器中

    runner = unittest.TextTestRunner()

    runner.run(suite)

三、常见的unittest注释方法

  1.@unittest.skip("skipping") #无条件忽视该测试方法

  2.@unittest.skipIf(a>5,''condition is not satisfied'') #如果变量a>5,则忽略该测试方法

  3.@unittest.skipUnless()

四、unittest命令执行

  1.模块执行命令

    python -m unittest  -v Mytest  #MyTest为模块,-v参数表示输出测试用例执行的详细信息

  2.执行模块中的某个类

    python -m unittest -v  test_modue.TestClass

  3.批量执行测试模块(main中加载)

    if __name__ =='__main__'

      #当前目录下所有有效的测试模块,“.”表示当前目录,可以用绝对路径

      testSuite = unittest.TestLoader().discover('.')

      unittest.TextRunner(verbosity=2).run(testSuite)

    命令方式为:D:\xxxx\python -m unittest discover  [注意脚本目录]

    

    

  

转载于:https://www.cnblogs.com/czdbky/p/9660632.html

UI自动化:单元测试框架相关推荐

  1. 几款好用的自动化单元测试框架和工具

    单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证,可以快速验证代码是否准确地实现了设计目的,帮助提高代码设计的合理性(能进行单元测试的函数,一定是低耦合的)和健壮性(遍 ...

  2. selenium自动化-单元测试框架

    单元测试框架: 在自动化中,单元测试框架是管理测试用例的,控制测试用例的执行顺序和次数 unittest: 前置条件:setUP(一般是打开浏览器操作) 后置条件:tearDown(一般是关闭浏览器) ...

  3. 【Web UI自动化测试】Web UI自动化测试之框架篇(全网最全)

    本文大纲截图: UnitTest框架: PyTest框架: 框架: 框架英文单词 framework,为解决一类事情的功能的集合.需要按照框架的规定(套路)去书写代码. 一.UnitTest框架介绍[ ...

  4. python自动化框架pytest pdf_pytest+python下的UI自动化基础框架

    整体设计模式: config目录:存放一些公共的静态文件,如项目名称,配置文件等这些环境变量(可以用其他组件替换,如sql,主要能把配置文件的内容被程序识别). httptrquest目录:存放接口代 ...

  5. python ui自动_pytest+python下的UI自动化基础框架

    整体设计模式: config目录:存放一些公共的静态文件,如项目名称,配置文件等这些环境变量(可以用其他组件替换,如sql,主要能把配置文件的内容被程序识别). httptrquest目录:存放接口代 ...

  6. TARS 系统 —— UI 自动化解决方案

    邹德文 去哪儿网移动应用开发总监,负责机票售前与客户端的管理工作.2012年加入去哪儿,先后任职于攻略和机票事业部,擅长客户端和跨端技术栈RN,Flutter,对设备指纹有深入研究,主导了机票国内主流 ...

  7. UI自动化结合图像识别的例子

    UI自动化结合图像识别的应用 近期,对图像识别特别感兴趣,于是开始学习了opencv3,结合上家的工作经历,我知道在哪里地方迫切需要检测和识别的方式来解决实际工作中的一些问题. 图像识别分两块来讲,一 ...

  8. PC客户端UI自动化

    前言 基于spring boot + Appium Client + selenium + testng +winappdriver + Inspect搭建的一套支持客户端UI自动化的框架 系统要求: ...

  9. 基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 关联

    文章目录 关联 (公共变量传递一些值) 基于JAVA实现的WEB端UI自动化 -自动化测试简单介绍 基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - 实现简单的浏览器操作 基于J ...

  10. Unittest单元测试框架UI自动化

    今天我们讲解在python中如何使用unittest框架实现UI自动化,对于如何使用webdriver的API进行网页的操作今天不再赘述,错过的小伙伴请戳下方链接直达~~ 1.unittest单元测试 ...

最新文章

  1. Python统计学-006:描述统计-方差
  2. Flutter - sqflite(原滋原味)
  3. Java线程池示例:任务窃取线程池WorkStealingPool
  4. 扩展方法略好于帮助方法
  5. Pycharm使用matplotlib绘图时无法显示中文问题
  6. 用dos命令破解网吧限制的方法和dos命令全集[color]
  7. [android] 帧动画和补间动画
  8. 移动App的原型创建工具
  9. WPF自定义动画控件 风机
  10. Linux系统编程 -- volatile关键字
  11. 2.9Unicode 文本标准化
  12. Vivado工程配置petalinux实现linux下网卡驱动
  13. 刚刚,ChatGPT官宣数学能力再升级,网友:终于精通十以内加减法了
  14. 立创开源 WCHLink/DapLink下载器 沁恒
  15. php-fpm 多核,linux 多核CPU性能调优
  16. 动态时间规整DWT(Dynamic Time Warping)
  17. html5+php视频播放器,整理5款html5网页播放器,总有一款适合你吧
  18. 南大周志华团队开源深度森林软件包DF21:训练效率高、超参数少,普通设备就能跑 | AI日报...
  19. 一行代码解决约瑟夫问题(我要开始装B了)
  20. MOT:MOTchallenge任务评价方法

热门文章

  1. freebsd 安装mysql_Freebsd中mysql安装及使用笔记
  2. android recyclerview添加头部,Android RecyclerView添加Header头部
  3. 跟着开源项目学因果推断——mr_uplift(十五)
  4. python︱模块加载(pip安装)以及pycharm安装与报错解决方式
  5. 统计自然语言处理基础_聚类
  6. 查询和修改mysql最大连接数的方法
  7. Div层悬浮实现HTML5 Canvas背景动画
  8. Win10右键添加获取管理员权限
  9. Ubuntu增加Swap分区大小
  10. Hive 大数据表性能调优