python单元测试入门_python 单元测试- unittest

unittest介绍

unittest是python标准库里用于单元测试的模块。单元测试用来对最小可测试单元进行正确性检验。

单元测试好处:确保代码质量

改善代码设计,难以测试的代码一般是设计不够简洁的代码。

保证重构不会引入新问题,以函数为单位进行重构的时候,只需要重新跑测试就基本可以保证重构没引入新问题。

unittest基础概念:

test fixture

TestCase 表示测试用例,一个测试用例可以包含多个测试方法,每个方法都要以test_开头.测试方法中用到的self.assertXXX的方法是读研语句,单元测试都是使用这样的断言语句判断测试是否通过:如果断言为False,会跑出AssertionError异常。不以test开头的方法不被认为是测试方法,测试的时候不会执行。

TestSuit 测试套件,它将一组测试用例作为一个测试对象

test runner

单元测试样例:

编写一个类class A():

def __init__(self, n):

self.n = n

def add(self, number):

self.n += number

def reduce(self, number):

self.n -= number

单元测试myTest.pyimport unittest

class MyTest(unittest.TestCase):

def setUp(self):

# 每个测试用例执行之前做操作

print u'开始初始化'

self.a = A(10)

def tearDown(self):

# 每个测试用例执行之后做操作

print u'结束'

def test_add(self):

self.a.add(10)

print 'test_add---->', self.a.n

self.assertIsInstance(self.a.n, int)

self.assertEqual(self.a.n, 20)

def test_reduce(self):

self.a.reduce(10)

print 'test_reduce---->', self.a.n

self.assertIsInstance(self.a.n, int)

self.assertEqual(self.a.n, 0)

if __name__ == '__main__':

unittest.main()

测试结果:

>>> python2 myTest.py

开始初始化

test_add----> 20

F结束

开始初始化

test_reduce----> 0

结束

.

setUp()和tearDown()

setUp() 列出测试前的准备工作,常用来做一些初始化,非必需方法。

tearDown()方法列出了测试完成后的收尾工作,用来销毁测试过程中产生的影响,非必需方法。

mock 伪造函数、对象、类的返回值

用于单元测试时,伪造函数返回值。import tool

from unittest import mock

response=[['小明',80]]

tool.query_student=mock.Mock(return_value=response)

print(tool.query_student(1))

# ['小明',80]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值