51Testing软件测试论坛

标题: unittest框架测试项目讲解 [打印本页]

作者: 雨中漫步_012    时间: 2018-4-3 14:57
标题: unittest框架测试项目讲解
测试项目整体组织结构如下:
[attach]112562[/attach]


关于要测试的源代码,之前的文章中有在这里不做赘述。这里通过discover用来组织测试用例,测试用例的
文件命名要有一定的规则,我用的命名是:Test+测试功能名。这样discover方便用于查找。

创建一个用于保存测试报告文件夹:Report

关于RunAllTest.py的源码如下:

  1. [python] view plain copy
  2. #coding=utf8   
  3. from unittest import  TestLoader,TestSuite   
  4. from Lib.HTMLTestRunner import HTMLTestRunner  
  5. import os   
  6. import time  
  7. import sys  
  8. #避免UnicodeDecodeErro的发生  
  9. reload(sys)  
  10. sys.setdefaultencoding('utf8')  
  11.    
  12. def creatSuite():   
  13.     '''''创建一个测试集用来保存所有的测试用例'''  
  14.     alltests=TestSuite()  
  15.     '''''获取当前的系统的根目录'''   
  16.     current_dir=os.getcwd()  
  17.     '''''发现当前项目中的所有Test开头的py文件'''  
  18.     Path=["TestSuit_01","TestSuit_02"]  
  19.     for path in Path:  
  20.         TSdir =current_dir+"\\"+path  
  21.         discover=TestLoader().discover(TSdir,pattern="Test*.py",top_level_dir=None)  
  22.         print discover   
  23.         for test_suit in discover:  
  24.                 for test_case in test_suit:   
  25.                     alltests.addTest(test_case)  
  26.     return alltests   
  27.   
  28. def runAll():  
  29.     alltest=creatSuite()   
  30.     '''''用来记录当前用例运行时间'''            
  31.     now = time.strftime("%Y-%m-%d%H_%M_%S")   
  32.     '''''每次运行保存报告的名字 '''  
  33.     filename ='.\\Report\\'+now+'result.html'   
  34.     fp = file(filename, "wb+")   
  35.     '''''调用HTMLTestRunner生成运行驱动实例'''  
  36.     runner=HTMLTestRunner(stream=fp,title="TestReport",description="The state of the run")   
  37.     #runner=TextTestRunner()   
  38.     runner.run(alltest)  
  39.     fp.close()      
  40.      
  41. if __name__=="__main__":   
  42.     runAll()  
复制代码

这个文件做下解释,下图标准的红色部分,对于强迫症是中折磨,我尝试好多方法,都没有去掉那红色线,
但系统不报错,如果有解决办法,希望告知下,谢谢!
[attach]112563[/attach]


作者: 梦想家    时间: 2018-4-4 09:52
谢谢分享




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2