Python单元测试基础举例
作者:网络转载 发布时间:[ 2015/9/15 13:57:15 ] 推荐标签:软件测试 数据
如果想要自定义跑哪些case或者同时执行多个文件中的case,可以再写一个run.py文件,将所要执行的测试类引入,可引入多个,代码如下:
import unittest
from test_sort import TestSort
if __name__=='__main__':
suite=unittest.TestSuite()
#suite.addTest(TestSort('test_quick_sort_1')) #此时只运行est_quick_sort_1这条case
#suite.addTest(unittest.TestLoader().loadTestsFromTestCase(TestSort)) #这句等价于下面那句
suite.addTest(unittest.makeSuite(TestSort)) #执行TestSort类中的所有case
runner=unittest.TextTestRunner(verbosity=2) #等于2打印详细的执行信息
runner.run(suite)
在进行数据准备和数据清理时可以使用setUp和tearDown(每条case执行前后时执行),setUpClass和tearDownClass(每个类执行前后时执行)。比如写一个数据库增删改查的类,每个case都需要用到数据库连接,此时可以在case开始跑之前在setUpClass中建立一个连接,在tearDownClass中写数据库关闭;又如case执行时可能依赖一些数据但是数据库中没有,此时可以在setUp中写一些插入数据的准备,在执行后在tearDown中做数据清理,以免影响其他数据。
用法举例,将test_sort.py改成如下代码示例:
import unittest
from sort import Sort
class TestSort(unittest.TestCase):
@classmethod
def setUpClass(cls):
print 'this is setupclass'
def setUp(self):
print 'this is setup'
def test_bubble_sort_1(self):
arr=[]
self.assertEquals([],Sort.bubble_sort(arr))
def test_quick_sort_4(self):
arr=(15,12,36,22,1,7,18)
self.assertEquals(sorted(arr),Sort.quick_sort(arr))
def tearDown(self):
print 'this is teardown'
@classmethod
def tearDownClass(cls):
print 'this is teardownclass'
执行run.py效果如下:
>>>
this is setupclass
test_bubble_sort_1 (test_sort.TestSort) ... this is setup
this is teardown
ok
test_quick_sort_4 (test_sort.TestSort) ... this is setup
this is teardown
ok
this is teardownclass
----------------------------------------------------------------------
Ran 2 tests in 0.043s
OK
>>>
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
iOS单元测试mocha、chai、sinon和istanbul实现百分之百的单元测试覆盖率关于单元测试的总结及思考编写更好的Java单元测试的7个技巧Android单元测试框架Robolectric3.0介绍(一)使用Kiwi单元测试总结单元测试如此重要,为什么你不知道Python单元测试??使用装饰器实现测试跳过和预期故障对Controller的单元测试写好单元测试的10个技巧单元测试的重要性Angular单元测试系列??Component、Directive、Pipe 以及ServiceAndroid单元测试的整理提升单元测试体验的利器--Mockito使用总结iOS UnitTest单元测试Vue的单元测试探索(二)
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南