一,基本概念

  • TestCase:所有测试用例的基类
  • TestLoad:加载测试用例,返回TestSuite(测试套件)
  • TestSuite:创建测试套件
  • TextTestRunner:运行测试用例
  • TextTestResult:测试结果(包含 运行多少,错误多少,失败多少)

二,创建测试用例类

  1. 必须继承TestCase
  2. 测试用例的名字必须以test开头
  3. 定义setUp和tearDown,在每个测试用例前后做一些辅助工作。
  4. 一个测试用例应该只测试一个方面,测试目的和测试内容应很明确。主要是调用assertEqual、assertRaises等断言方法判断程序执行结果和预期值是否相符。
  5. 调用unittest.main()启动自动测试
  6. 如果测试未通过,会输出相应的错误提示。如果测试全部通过则不显示任何东西,这时可以添加-v参数显示详细信息。

三,有选择的测试

  • unittest.skip(reason)
  • unittest.skipIf(condition, reason)
  • unittest.skipUnless(condition, reason)
  • unittest.expectedFailure()
# coding=utf-8

class testclass:

    def sum(self , x, y):
return x + y def sub(self , x, y):
return x - y
#coding=utf-8
import unittest
from myclass import myclass class simpleTest(unittest.TestCase):
def setUp(self):
print 'start test.....'
self.tclass=myclass.testclass() def tearDown(self):
print 'end test.....' def testsum(self):
self.assertEqual(self.tclass.sum(1, 2),3,'sum test fail') def testsub(self):
self.assertEqual(self.tclass.sub(2, 1),1, 'sub test fail') if __name__ == '__main__':
# suite=unittest.TestLoader().loadTestsFromTestCase(simpleTest)
# unittest.TextTestRunner.verbosity(2).run(suite) for key in dir(unittest):#查看该模块所有类
print key unittest.main()
#coding=utf-8
import sys
import unittest from myclass import myclass #测试模块中某一个类中的函数
#定义两个测试用例
class mytest(unittest.TestCase):
def setUp(self):
self.tclass=myclass.testclass() def tearDown(self):
pass @unittest.skip("skipping")
def testsum(self):
self.assertEqual(self.tclass.sum(1, 2),3,'test sum fail') @unittest.skipUnless(sys.platform.startswith("win"), "requires Windows")
def testsub(self):
self.assertEqual(self.tclass.sub(2, 1),1,'test sum fail') if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(mytest)#构建测试套件
# suite = unittest.TestSuite([suite1, suite2]) 可以添加多个套件
result= unittest.TextTestRunner(verbosity=2).run(suite)
print result

python:unittest(测试框架)的更多相关文章

  1. Python 下的unittest测试框架

    unittest测试框架,直接上图吧: data:数据:主要格式为CSV:读取方式:csv.reade: public:封装的模块:通用的模块单独封装,所需参数设置为变量: testcase:测试用例 ...

  2. Python接口测试实战3(下)- unittest测试框架

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  3. 基于Python的接口自动化-unittest测试框架和ddt数据驱动

    引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行,还有在运行大量的接口测试用 ...

  4. python利用unittest测试框架组织测试用例的5种方法

    利用unittest测试框架可以编写测试用例,执行方式分两大类:利用main方法和利用testsuite,其中利用测试套件来组织测试用例可以有4种写法. 在此之前,先了解几个概念 TestCase:所 ...

  5. python nose测试框架全面介绍十---用例的跳过

    又来写nose了,这次主要介绍nose中的用例跳过应用,之前也有介绍,见python nose测试框架全面介绍四,但介绍的不详细.下面详细解析下 nose自带的SkipTest 先看看nose自带的S ...

  6. <day002>Selenium基本操作+unittest测试框架

    任务1:Selenium基本操作 from selenium import webdriver # 通用选择 from selenium.webdriver.common.by import By # ...

  7. python nose测试框架全面介绍七--日志相关

    引: 之前使用nose框架时,一直使用--logging-config的log文件来生成日志,具体的log配置可见之前python nose测试框架全面介绍四. 但使用一段时间后,发出一个问题,生成的 ...

  8. python nose测试框架全面介绍六--框架函数别名

    之前python nose测试框架全面介绍二中介绍了nose框架的基本构成,但在实际应该中我们也会到setup_function等一系列的名字,查看管网后,我们罗列下nose框架中函数的别名 1.pa ...

  9. python实例编写(6)--引入unittest测试框架,构造测试集批量测试(以微信统一管理平台为例)

    ---恢复内容开始--- 一.python单元测试实例介绍 unittest框架又叫PyUnit框架,是python的单元测试框架. 先介绍一个普通的单元测试(不用unittest框架)的实例: 首先 ...

随机推荐

  1. iOS报错Expected selector for Objective-C method

    这个报错非常恶心:原因竟然是在导入头文件的地方多写了一个"+"号,可能问题在一个文件,报错在另一个文件

  2. AS Gradle构建工具与Android plugin插件【大全】

    Android plugin version 与 gradle version 的关系 Gradle是一种构建工具,它通过编写一个名为build.gradle的脚本文件对项目进行设置,再根据这个脚本对 ...

  3. Django runserver show client ip

    get path of basehttp.py $ python >>> import site >>> site.getsitepackages() ['/usr ...

  4. ASP.net中网站访问量统计方法

    仅共学习 一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间 (IP_DateTime) ...

  5. Sqlserver2005手动备份远程数据库到本地数据库方法

    1,在本地数据库中新建一个数据库名,如local 选中local,鼠标右键,任务,导入数据 2下一步: 注意:服务器名称写远程连接的主机的IP, 数据库选中你要备份的远程数据库. 3下一步: 注意:服 ...

  6. 数据库连接未关闭,conn与rs未关闭

    场景: 2000多人使用系统,早上打卡签到,时间点比较集中. 程序:会创建connction连接.但是未关闭,导致tomcat挂了.导致连接池已满 解决:conn.close,rs.close.记住一 ...

  7. C#设置IP地址,启用禁用适配器

    界面效果图如下: 报表界面 说下关键代码 需要开启 Windows Management Instrumentation服务(默认已经开启),在程序中需要增加 Management引用. 主要有Net ...

  8. directshow filter 调试步骤

    1,编写filter 2,在debug模式下build 3,注册filter:控制台cd到工程的debug目录下,即欲注册的filter(.ax文件)目录,xx:>regsvr32 contra ...

  9. 【NOI2006】最大获利

    [问题描述] 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战.THU 集团旗下的CS&T 通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一项,就 ...

  10. css3之box-sizing

    css盒子模型中包括几种重要的属性,包括margin.border.padding以及content.但浏览器对其盒子模型的解释则有所不痛,启用标准模式还是IE(怪)模式是与当前页面的文档声明相关的. ...