博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python利用unittest进行测试用例执行的几种方式
阅读量:5985 次
发布时间:2019-06-20

本文共 1939 字,大约阅读时间需要 6 分钟。

  利用python进行测试时,测试用例的加载方式有2种:

  一种是通过unittest.main()来启动所需测试的测试模块;
  一种是添加到testsuite集合中再加载所有的被测试对象,而testsuit里存放的就是所需测试的用例,下面分别列出3种方法的具体使用方式:
1、通过unittest.main()来执行测试用例的方式:

import unittest 
class UCTestCase(unittest.TestCase):
    def setUp(self):
        #测试前需执行的操作
        .....      
    def tearDown(self):
        #测试用例执行完后所需执行的操作
        .....      
    # 测试用例1
    def testCreateFolder(self):
        #具体的测试脚本
        ......      
    # 测试用例2
    def testDeleteFolder(self):
        #具体的测试脚本
        ......       
if __name__ == "__main__":
    unittest.main()

2、通过testsuit来执行测试用例的方式:

import unittest 
# 执行测试的类
class UCTestCase(unittest.TestCase):
    def setUp(self):
        #测试前需执行的操作
        .....       
    def tearDown(self):
        #测试用例执行完后所需执行的操作
        .....
       
    # 测试用例1
    def testCreateFolder(self):
        #具体的测试脚本
        ......      
    # 测试用例2
    def testDeleteFolder(self):
        #具体的测试脚本
        ......       
if __name__ == "__main__":
    # 构造测试集
    suite = unittest.TestSuite()
    suite.addTest(UC7TestCase("testCreateFolder"))
    suite.addTest(UC7TestCase("testDeleteFolder")) 
    # 执行测试
    runner = unittest.TextTestRunner()
    runner.run(suite)

3、通过testLoader方式:

import unittest 
class TestCase1(unittest.TestCase):
    #def setUp(self):
    #def tearDown(self):
    def testCase1(self):
        print 'aaa'      
    def testCase2(self):
        print 'bbb'
  
class TestCase2(unittest.TestCase):
    #def setUp(self):
    #def tearDown(self):
    def testCase1(self):
        print 'aaa1'  
    def testCase2(self):
        print 'bbb1'
        
if __name__ == "__main__":
    #此用法可以同时测试多个类
    suite1 = unittest.TestLoader().loadTestsFromTestCase(TestCase1) 
    suite2 = unittest.TestLoader().loadTestsFromTestCase(TestCase2) 
    suite = unittest.TestSuite([suite1, suite2]) 
    unittest.TextTestRunner(verbosity=2).run(suite)

 

  下面针对上述脚本中应用到的unittest模块下的几个成员进行简单的介绍,以便于理解上述代码:
 TestCase:所有测试用例的基本类,给一个测试方法的名字,就会返回一个测试用例实例;
 TestSuit:组织测试用例的实例,支持测试用例的添加和删除,最终将传递给  testRunner进行测试执行;
 TextTestRunner:进行测试用例执行的实例,其中Text的意思是以文本形式显示测试结果。测试的结果会保存到TextTestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息;
 TestLoader:用来加载TestCase到TestSuite中的,其中有几个  loadTestsFrom__()方法,就是从各个地方寻找TestCase,创建它们的实例,然后add到TestSuite中,再返回一个TestSuite实例;

转载于:https://www.cnblogs.com/wangcp-2014/p/10906083.html

你可能感兴趣的文章
SharePoint Foundation 2013 with SP1
查看>>
iOS内存管理 -讲的不错,角度独特
查看>>
rsync+inotify实现实时同步案例--转
查看>>
listvew加载更多
查看>>
Burp Suite使用介绍
查看>>
kindeditor在sae上传文件修改,适合php
查看>>
【struts2】名为chain的ResultType
查看>>
【6】连续序列和为s
查看>>
Unity多媒体展示项目经验分享-ImageEffect+动态绑定
查看>>
Ext.Net常用方法
查看>>
Linux perf tools
查看>>
Java final自变量
查看>>
.Net批量插入数据到SQLServer数据库,System.Data.SqlClient.SqlBulkCopy类批量插入大数据到数据库...
查看>>
[AngularJS Ng-redux] Integrate ngRedux
查看>>
[CentOs7]安装mysql(2)
查看>>
OpenCV——级联分类器(CascadeClassifier)
查看>>
mysql主从复制 转
查看>>
[原创] WINDOWS 7 精简教程之驱动精简 可用于64和32
查看>>
Data Science 和 Finance 两个领域的融合是什么样子的?
查看>>
Java经典实例:把字符串解析为日期时间
查看>>