python: 单元测试---unit test

python: 单元测试—unit test

几个基本概念

TestCase(测试用例): 所有测试用例的基类,它是软件测试中最基本的组成单元。一个test case就是一个测试用例,包含了一个完整的测试流程的测试单元,可以对某一问题进行验证。

TestSuite(测试套件):多个测试用例test case的集合,TestSuite可以嵌套。

TestLoder:将 TestCase加载到TestSuite的加载器。

TextTestRunner:测试用例的执行器,其中的run(test)会执行TestSuite/TestCase中的run(result)方法。

TextTestResult:测试结果会保存到TextTestResult实例中,包括运行了多少用例,成功与失败多少等信息

TestFixture: 建立测试代码的运行环境,指测试准备前构建临时数据、目录等以及执行测试后要做的清理工作,主要包括包括setUp和tearDown方法

流程

1.写好TestCase:一个class继承unittest.TestCase,就是一个测试测试用例,其中有多个以test开头的方法,那么 每一个这样的,在load的时候会生成一个TestCase实例。如果一个class中有四个test开头的方法,最后load到suite中时则有四个测试用例
2.由TestLoder加载TestCase到TestSuite
3.然后由TextTestRunner来运行TestSuite,运行的结果保存在TextTestResult中。

说明:
a:通过命令行或者unittest.main()执行时,main会调用TextTestRunner中的run来执行,或者可以直接通过TextTestRunner来执行用例

b:Runner执行时,默认将结果输出到控制台,当然也可以定义其他的输出方式,如文件保存或者网页显示。

示例

  1. 首先要有待测试的类或者函数: foo_.py
# -*- encoding:utf-8  -*-
def foo_1():
	#To do something
	pass

def foo_2():
	#To do something
	pass

2.写测试用例: test_foo_.py

#  -*- encoding: utf-8 -*-
import unittest
from foo_ import *

class TestFoo(unittest.TestCase):
	"""Test foo functions"""
	def setUp(self):
		# do something before every test method
	def test_foo_1(self):
		"""test foo_1 function"""
		#do something
	def test_foo_2(self):
		"""test foo_2 function"""
		#do something
	def tearUp(self):
		# do something after every test method

Reference

[0] unittest — Unit testing framework
[1] Python单元测试框架——unittest
[2] Python单元测试——深入理解unittest

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值