python的unittest模块实现软件单元测试
2017-07-24 17:01
676 查看
#!/usr/bin/env python #-*-coding:utf-8-*- class Count(object): version=1 def add(self,x,y): return x+y def sub(self,x,y): return x-y if __name__=='__main__': c=Count() print(c.add(1,2)) print(c.sub(10,5)) #!/usr/bin/env python #-*-coding:utf-8-*- #unittest import unittest from count import Count class TestCount(unittest.TestCase): def setUp(self): print('setup') self.obj=Count() def tearDown(self): print('tearDown') self.obj=None def add_test(self): print('Run add_test') print(self.obj.add(10,20)==30) def sub_test(self): print('Run sub_test') print(self.obj.sub(10,5)==5) #增加测试单元1 def get_suite(): case_list=['add_test','sub_test'] demo_countadd=TestCount('add_test') demo_countsub=TestCount('sub_test') demos=map(TestCount,case_list) suite=unittest.TestSuite() #suite.addTest(demo_countadd) #suite.addTest(demo_countsub) suite.addTest(demos) return suite #增加测试单元2 class CountTestSuite(unittest.TestSuite): def __init__(self): case_list=['add_test','sub_test'] unittest.TestSuite.__init__(self,map(TestCount,case_list)) if __name__=='__main__': #s=get_suite() s=CountTestSuite() runner=unittest.TextTestRunner() print(s.countTestCases()) runner.run(s) #!/usr/bin/env python #-*-coding:utf-8-*- #unittest import unittest from count import Count class TestCount(unittest.TestCase): def setUp(self): print('setup') self.obj=Count() def tearDown(self): print('tearDown') self.obj=None def test_add(self): print('Run add_test') print(self.obj.add(10,20)==30) def test_sub(self): print('Run sub_test') print(self.obj.sub(10,5)==5) def test_sum(self): print('Run sum_test') pass def priv_case1(self): print('Run priv_case1') pass def get_suite(): suite=unittest.makeSuite(TestCount,prefix='test') print(suite.countTestCases()) return suite class CountTestSuite(unittest.TestSuite): def __init__(self): case_list=['add_test','sub_test'] unittest.TestSuite.__init__(self,map(TestCount,case_list)) if __name__=='__main__': unittest.main() ''' s=get_suite() #s=CountTestSuite() runner=unittest.TextTestRunner() print(s.countTestCases()) runner.run(s) ''' #!/usr/bin/env python #-*-coding:utf-8-*- #unittest import unittest from count import Count class TestCount(unittest.TestCase): def setUp(self): # print('setup') self.obj=Count() def tearDown(self): #print('tearDown') self.obj=None #装饰器跳过测试 @unittest.skip('Notest') def test_add(self): print('Run add_test') self.assertEqual(self.obj.add(10,20),30) #@unittest.skipIf(Count.version==1,'No test') #产生异常装饰 @unittest.expectedFailure def test_sub(self): print('call sub test') self.assertEqual(self.obj.sub(10,5),6) @unittest.skipUnless(Count.version==1,'No test1') def test_sum(self): print('Run sum_test') pass def priv_case1(self): #print('Run priv_case1') pass #对以test开头的单元测试 def get_suite(): suite=unittest.makeSuite(TestCount,prefix='test') print(suite.countTestCases()) 4000 return suite class CountTestSuite(unittest.TestSuite): def __init__(self): case_list=['add_test','sub_test'] unittest.TestSuite.__init__(self,map(TestCount,case_list)) if __name__=='__main__': unittest.main() ''' s=get_suite() #s=CountTestSuite() runner=unittest.TextTestRunner() print(s.countTestCases()) runner.run(s) ''' #!/usr/bin/env python #-*-coding:utf-8-*- #统计一个文件夹里所有文件的个数,所有png,jpeg,file,dir的个数 import os import imghdr ftypes=['png','jpeg','file','dir'] class CountFiles(object): def __init__(self,path='./'): self.path=path self.fkinds=dict([[val,0] for val in ftypes])#初始化字典 self.scandir() #遍历文件夹 def scandir(self): result=os.walk(self.path) for info in result: print(info) top,dirs,files=info self.fkinds['dir']+=len(dirs) for f in files: fpath=os.path.join(top,f) ftype=imghdr.what(fpath) if ftype==None: ftype='file' self.fkinds[ftype]+=1 #相应文件的个数 def getinfobykey(self,key): return self.fkinds[key] def cjpeg(self): return self.getinfobykey('jpeg') def cpng(self): return self.getinfobykey('png') def cfile(self): return self.getinfobykey('file') def cdir(self): return self.getinfobykey('dir') if __name__=='__main__': c=CountFiles(path=r'/home/acm506/桌面/webshixun') for key in ftypes: print('%s:%s'%(key,c.getinfobykey(key))) #!/usr/bin/env python #-*-coding:utf-8-*- #对统计目录的文件进行测试进行测试, import unittest from tongji import CountFiles testdir=r'/home/acm506/桌面/webshixun/' class TestGlinfo(unittest.TestCase): def setUp(self): self.obj=CountFiles(path=testdir) def test_cjpeg(self): self.assertEqual(self.obj.cjpeg(),21) def test_cpng(self): self.assertEqual(self.obj.cpng(),8) def test_cfile(self): self.assertEqual(self.obj.cfile(),14) def test_cdir(self): self.assertEqual(self.obj.cdir(),3) def tearDown(self): self.obj=None if __name__=='__main__': unittest.main() #!/usr/bin/env python #-*-coding:utf-8-*- #mock测试 from unittest import mock class CouldClient(object): def connect(self): pass def disconnect(self): pass def upload(self): pass def download(self): pass tmock=mock.Mock(CouldClient) print(dir(tmock)) tmock.connect.return_value=200 print(tmock.connect()) tmock.connect.return_value=404 print(tmock.connect()) #!/usr/bin/env python #-*-coding:utf-8-*- #对mock进行测试 import unittest from unittest import mock #导入待测试的单元 from mockclass import CouldClient #测试单元 class TestCould(unittest.TestCase): def setUp(self): self.obj=mock.Mock(CouldClient) def tearDown(self): self.obj=None def test_connect(self): self.obj.connect.return_value=200 self.assertEqual(self.obj.connect(),404) def test_disconnect(self): pass if __name__=='__main__': #自动化测试 unittest.main()
相关文章推荐
- Python 单元测试框架 unittest 实现传参
- Python模块——unittest 单元测试
- python 单元测试的模块 pyUnit(unittest),mock与Python测试
- 利用Python中unittest实现简单的单元测试实例详解
- PYTHON单元测试模块unittest
- python unittest单元测试模块 test模块test_support使用
- Python中unittest模块做UT(单元测试)使用实例
- python-unittest模块【单元测试】
- Python中unittest模块做UT(单元测试)使用实例
- Python模块――unittest 单元测试
- Python单元测试unittest加载方式之一:unittestmain()启动单元测试模块
- python调用HTMLTestRunner+unittest实现一次执行多个测试类,并生成与每个测试类对应的测试报告,并不像某些人写的每次只执行一个测试类,具体看代码,附上整个project代码
- Python+request+unittest实现接口测试框架集成实例
- 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求
- Python之自动单元测试之一(unittest使用实例)
- Python单元测试框架unittest测试过程简介
- Python+selenium+unittest的GUI自动化框架实现
- python基础===单元测试unittest
- 为Python2.6的单元模块unittest做hack
- Python单元测试框架使用unittestpyUnit