UnitTest是展开自动化测试的基础——这个框架很重要!
首先我们先自己写一个测试类:

1、被测试类 Widthget.py:

# coding: utf-8class Widthget:
def __init__(self, size=(10, 10)):
self._size = size def getSize(self):
return self._size def reSize(self, width, height):
if width < 0 or height < 0: raise ValueError, 'illegal size'
self._size = (width, height)

2、测试类:

# coding: utf-8from Widthget import Widthgetimport unittest# 执行测试的类class WidthgetTestCase(unittest.TestCase):

    def setUp(self):
self.width = Widthget() def testSize(self):
self.assertEqual(self.width.getSize(), (10, 10)) def testResize(self):
self.width.reSize(20, 20)
self.assertEqual(self.width.getSize(), (20, 20)) def tearDown(self):
self.width = None# 构造测试集def suite():
tc = unittest.TestSuite()
tc.addTest(Widthget("testSize"))
tc.addTest(Widthget("testResize")) return tc if __name__ == '__main__':
# unittest.main()
runner = unittest.TextTestRunner()
runner.run(suite())

运行测试文件可以看到:

如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以加软件测试交流:1085991341,还会有同行一起技术交流。

优化1:

我们没必要单独写构造测试集的方法,也就是说我们可以直接将suite()方法放到if name=='main':里面:

if __name__ == '__main__':

    tc = unittest.TestSuite()
tc.addTest(Widthget("testSize"))
tc.addTest(Widthget("testResize")) runner = unittest.TextTestRunner()
runner.run()

执行测试文件,可以看到用例也是可以通过的。

优化2:

测试用例都以test开头命名,比如测试登录,用例就命名为testLogin,测试退出用例就命名为testLoginOut,上面我们写的例子之所以能这么顺利的就通过,主要原因就在于我的用例(testSize,testResize)都是以test开头的。这是unittest框架的默认规定。
以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。

UnitTest单元测试框架解析【实用篇】的更多相关文章

  1. 《selenium2 python 自动化测试实战》(21)——unittest单元测试框架解析

    unittest是展开自动化测试的基础——这个框架很重要! 我们先自己写一个测试类: 1.被测试类 Widthget.py: # coding: utf-8 class Widthget:    de ...

  2. unittest 单元测试框架

    引入 unittest 框架 相想使用unittest 框架,首先要引入unittest 包 import unittest class Baidu(unittest.TestCase): Baidu ...

  3. Python+Selenium框架设计篇之-简单介绍unittest单元测试框架

    前面文章已经简单介绍了一些关于自动化测试框架的介绍,知道了什么是自动化测试框架,主要有哪些特点,基本组成部分等.在继续介绍框架设计之前,我们先来学习一个工具,叫unittest.       unit ...

  4. unittest单元测试框架详解

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

  5. unittest单元测试框架前言

    一.在我们没有学习过python语言的时候领导让我们做接口测试 我们都使用工具来做测试,一般常用的如jemeter,postman这些个工具,我来推荐使用postman 这个工具来进行接口测试,有的小 ...

  6. unittest单元测试框架总结

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

  7. Selenium+Python ---- 免登录、等待、unittest单元测试框架、PO模型

    1.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...

  8. unittest单元测试框架

    unittest单元测试框架 概述: 单元测试框架主要用来完成以下三件事: 提供用例组织与执行:当测试用例只有几条时,可以不必考虑用例的组织,但是当用例达到成百上千条时,大量的用例堆砌在一起,就产生了 ...

  9. unittest单元测试框架简单说明

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

随机推荐

  1. PHP preg_split() 函数

    preg_replace 函数通过一个正则表达式分隔字符串.高佣联盟 www.cgewang.com 语法 array preg_split ( string $pattern , string $s ...

  2. ThinkPHP6 核心分析之应用程序初始化

    runWithRequest () 方法 在 Http 类的 run() 方法中,得到 think\Request 类的实例后,程序接着执行 $response = $this->runWith ...

  3. PHP+Redis实现高并发下商品超卖问题

    对于一些有一定用户量的电商网站,如果只是单纯的使用关系型数据库(如MySQL.Oracle)来做抢购,对数据库的压力是非常大的,而且如果不使用好数据库的锁机制,还会导致商品.优惠券超卖的问题.我所在的 ...

  4. node.js 使用----相关常用命令总结

    node.js 使用----相关常用命令总结 1. 下载并安装node.js 2. 设置全局模块存放的目录 2.1 查看默认配置 npm config ls 2.2 修改全局模块存放目录 npm co ...

  5. 基于AspectCore打造属性注入

    前言 源自于晓晨在成都.net社区群的一篇文章 <晓晨的ASP.NET Core 奇淫技巧之伪属性注入> 他的思路是 Ioc容器替换 ControllerActivator,因为只能在控制 ...

  6. GPS坐标显示在百度地图上(Qt+百度地图)

    Qt在5.6以后的版本就不支持webview控件了,这里我用的是Qt5.4的版本,里面还有这个控件: 下面简单介绍下Qt与html中的javascript调用交互过程: 一.整体实现介绍 在html中 ...

  7. [问题记录] webpack devServer HtmlWebpackPlugin 没有加载 js、css

    webpack devServer 没有加载 js.css HtmlWebpackPlugin runtimeChunks 注入问题. 描述 写了一个极其简单的多页面 demo 启动开发服务器,发现样 ...

  8. 综合CSS3 transition、transform、animation写的一个动画导航

    打算好好写博客开始,就想把博客给装修下,近几个月一直处在准备找工作疯狂学习前端的状态.感觉博客装修要等到工作稳定下来才有时间和经历去想想要搞成什么样的了.也看过一些博主的博客导航有这种样式的,趁着回顾 ...

  9. java 接口二

    一 接口的多实现 接口最重要的体现:解决多继承的弊端.将多继承这种机制在java中通过多实现完成了. interface Fu1 { void show1(); } interface Fu2 { v ...

  10. Caused by: org.postgresql.util.PSQLException: 错误: 语法错误 在 "desc" 、语法错误 在 "from" 附近

    此错误一般是由于postgres的数据库表字段名定义与关键字重名所致: 如下,创建的数据库表包含名称为“desc”的字段与倒叙查询的desc关键字冲突会导致Caused by: org.postgre ...