一,基本概念

  • 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. C#实现自动切割图片

    由于做一个TD游戏需要一些图片素材,可是现有的从网上下载的<保卫萝卜>的图片资源是多张图片合在一起的,并且没有什么规则,虽然有 个xml文件似乎用来描述此图片内子图片位置大小等信息,但由于 ...

  2. Phonegap 安卓的自动升级与更新。当版本为4.0的时候

    清单文件中: <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14"/> ...

  3. 配置Statspack

    配置Statspack 配置前需要了解3个内容. 1.创建Statspack模式使用的密码. 2.Statspack使用的默认表空间. 3.Statspack使用的临时表空间. Create Tabl ...

  4. 写一个基于NSURLSession的网络下载库

    前段时间AFNetworking 更新到3.0 ,彻底废弃NSURLConnection的API转由NSURLSession来实现,代码并没有改动很大,AF封装的很好了,读完源码感觉收获很大. 下载不 ...

  5. IIS7、IIS6 web.config注册HttpModule

    IIS6注册HttpModule <system.web>     <httpModules>       <add name="..." type= ...

  6. Linux服务器指令

    1.查看cpu信息:/proc/cpuinfo2.查看内存信息:/prco/meminfo3.查看服务器版本信息:cat /etc/issue4.服务器系统位数:uname -a5.网卡信息:ifco ...

  7. asp.net 调用天气所遇到的问题

    由于在项目用了显示天气的功能,原有的调用方法 直接通过      <iframe name="weather_inc" src="http://i.tianqi.c ...

  8. gdb调试memcached

    1.memcached安装前,要安装libevent 2.memcached在configure中 加上  CPPFLAGS='-ggdb3'选项 例如 本机  ./configure -prefix ...

  9. 前端面试题第一波,要offer的看过来~

    一.HTML常见题目 01.Doctype作用?严格模式与混杂模式如何区分?它们有何意义? 02.HTML5为什么只需要写<!DOCTYPE HTML>? 03.行内元素有哪些?块级元素有 ...

  10. 来晚了--SALTSTACK要弄起

    PUPPET就算了,我多少都有PYTHON基础,还是专SALTSTACK吧. 今天小玩玩,以后深入.