单元测试
- 测试可以保证你的代码在一系列给定条件下正常工作
- 测试允许人们确保对代码的改动不会破坏现有的功能
- 测试迫使人们在不寻常条件的情况下思考代码,这可能会揭示出逻辑错误
- 良好的测试要求模块化,解耦代码,这是一个良好的系统设计的标志
示例
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, sys
import time, datetime
import unittest
from unittest import TestCase
class TestSequenece(TestCase):
def setUp(self):
self.lst = range(10)
print "setUp starting ..."
def test_eq(self):
print "test_eq starting..."
self.assertEqual(self.lst, range(10))
def test_in(self):
print "test_in starting..."
self.assertIn(1, self.lst)
self.assertNotIn(10, self.lst)
def test_instance(self):
print "test_instance starting..."
self.assertIsInstance(self.lst, list)
def tearDown(self):
print "tearDown starting..."
if __name__ == '__main__':
unittest.main()
然后我们看一下执行结果再分析:
setUp starting ...
test_eq starting...
tearDown starting...
.setUp starting ...
test_in starting...
tearDown starting...
.setUp starting ...
test_instance starting...
tearDown starting...
.
----------------------------------------------------------------------
Ran 3 tests in 0.000s
OK
共运行三个测试, 每次测试成功通过都会输出一个.号
- TestCase直译就是测试用例, 一个测试用例可以包含多个测试
- test_xxxx就是测试项, 根据实际的功能代码逻辑来编写对应的测试项, 运行时会自动查找所有以test开发的成员函数
- assertXXXX断言语句, 用来判断测试结果是否符合测试预期结果.
- setUp是执行每个测试项前的准备工作, 比如:可以做一些初始化工作
- tearDown是执行在每个测试项后的收尾工作,销毁测试过程中产生的垃圾, 恢复现场等
最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
全套资料获取方式:点击下方小卡片自行领取即可