python mysql单元测试_python单元测试

本文介绍了Python的unittest模块,包括如何创建测试类、setUp和tearDown方法的使用、测试用例的编写原则,以及assert系列方法。通过示例展示了如何编写和运行单元测试,帮助理解测试的流程和重要性。
摘要由CSDN通过智能技术生成

python的unittest模块提供了一个测试框架,只要我们写一个继承unittest.TestCase的类

1.写测试类,此类一定要继承unittest.TestCase。

2.类中的setUp做初始化,用tearDown做结束清理。(固定方法)

3.你要写的测试方法了,一般都是以test_打头(通常是test_原方法名),比如: def test_sub(self):

import random

import unittest

class UserTest(unittest.TestCase):

def setUp(self): 第**1**步

self.seq = range(10) #需要初始化的数据,相当于__init__方法

def tearDown(self): #程序运行完时,执行该方法(清理) 第**3**步

''' run end ,release '''

self.seq = None

def test_shuffle(self): #你要写的方法 第**2**步

random.shuffle(self.seq)

self.seq.sort()

self.assertEqual(self.seq, range(10))

self.assertRaises(TypeError, random.shuffle, (1,2,3))

if __name__ == '__main__':

unittest.main()

总结:

(1)import unittest

(2)定义一个继承自unittest.TestCase的测试用例类

(3)定义setUp和tearDown,在每个测试用例前后做一些辅助工作。

(4)定义测试用例,名字以test开头。

(5)一个测试用例应该只测试一个方面,测试目的和测试内容应很明确。主要是调用assertEqual、

assertRaises等断言方法判断程序执行结果和预期值是否相符。

(6)调用unittest.main()启动测试

(7)如果测试未通过,会输出相应的错误提示。如果测试全部通过则不显示任何东西,这时可以添

加-v参数显示详细信息。

4.测试用例的编写

(1)针对性: 每个用例,即test函数,必须只解决一个问题,这样定位问题会很简单

(2)独立性: 每个用例之间没有影响,一个的输出不会影响到另外一个的执行

(3)完备性: 每个用例所挑选的例子应该有代表性,尽可能增加覆盖度

(4)顺序: 对于每个功能点来说,可能涉及到不同的方面,这些用例最好用一个类组织起来,并按

照一定的逻辑顺序排列,这个对开发是有指导作用的

5.下面是unittest模块的常用方法:

assertEqual(a, b) a == b

assertNotEqual(a, b) a != b

assertTrue(x) bool(x) is True

assertFalse(x) bool(x) is False

assertIs(a, b) a is b 2.7

assertIsNot(a, b) a is not b 2.7

assertIsNone(x) x is None 2.7

assertIsNotNone(x) x is not None 2.7

assertIn(a, b) a in b 2.7

assertNotIn(a, b) a not in b 2.7

assertIsInstance(a, b) isinstance(a, b) 2.7

assertNotIsInstance(a, b) not isinstance(a, b) 2.7

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值