'''''''''1、运行方式 1、鼠标右击 2、在Terminal(控制台)中运行: 先加上 if __name__=='__main__': unittest.main() Terminal(控制台)输入命令: python <模块名.py> 2、测试套件(TestSuite) 命令(全部)执行: python -m unittest <模块名.py> 单个执行: python -m unittest <模块名.类名> python -m unittest <模块名.类名.方法名> 3、加载(TestLoader) 需要先初始化一个对象,suite 测试套件(集合) 3.1--第一种方法) #初始化测试套件 suite=unittest.Testsuite() #往测试套件里面添加测试用例,先导入模块 cases=[类名('方法名'),类名('方法名')] suite.addTests(cases) 3.2--第二种方法) suite=unittest.Testsuite(tests=cases) 4、运行,测试报告文件, 先打开一个文件 with open('txt','w',encoding='utf8') as f: #初始化runner,日志详细级别,略->细(0,1(默认),2) runner=unittest.TextTestRunner(f,verbosity=0) #运行 runner.run(suite) 5、unittest用例执行顺序是根据方法名,具体是根据ASCII编码 如果根据ASCII编码,可以加数值 def test_add_1_success(self): pass def test_add_2_success(self): pass 6、setUp和tearDown #注意大小写 def setUp(self): #前置条件 #测试用例方法之前自动执行setup里面的程序 def TearDown(self): #后置条件 #测试用例方法之后自动执行Teardown里面的程序7、TestLoader 用来加载测试用例#可以根据模块加载,也可以根据测试类加载,自己定义规则,自动加载; 7.1) 初始化loader loader=unittest.TestLoader() #根据测试类去加载测试用例 cases=loader.loadTestFromTestCase(类名) suite1=unittest.TestSuite() suite1.addTests(cases)8、自动发现测试用例(discover) # suite=unittest.TestSuite() #初始化loader loader=unittest.Testloader() #自动发现测试用例 start_dir=os.path.dirname(os.path.abspath(__file__)) suite1=loader.discover(start_dir)9.HTMLtestrunner 9.1导入HTMLtestrunner from HTMLTestRunnerNew import HTMLTestrunner 修改部分 with open('dem.html','wb') as f: #初始化runner,日志详细级别,略->细(0,1(默认),2) runner=unittest.TextTestRunner(f,verbosity=2,title='测试报告名称',tester='测试人员名称') #运行 runner.run(suite) 9.2测试报告放到一个report文件夹 时间动态的生成一个文件名 先生成一个report文件夹 report_dir=os.path.join(start_dir,'report') if not os.path.exists(report_dir): os.mkdir(report_dir) #报告格式report/2019-09-19.html 导入datatime from datatime import datatime time_str=datatime.now().strftime('%Y-%m-%d %H:%M:%S') file_name=os.path.join(report_dir,time_str+'html') *************************** *** 测试用例必须以test开头 *** *************************** '''
来源:https://www.cnblogs.com/qzyhome/p/11570199.html