1.测试case
unittest.py
# coding:utf-8
import time
import unittest
import os
class Test1(unittest.TestCase):
@classmethod
def setUpClass(cls):
print("setUpClass初始化操作:用例开始前只执行一次")
@classmethod
def tearDownClass(cls):
print("tearDownClass收尾清理操作:用例结束时候只执行一次")
def setUp(self):
print("setUp每次用例开始前都会执行!!!")
def tearDown(self):
print("tearDown每次用例结构都会执行!!!")
def test_01(self):
time.sleep(1)
print("正在执行用例01")
def test_02(self):
time.sleep(1)
print("正在执行用例02")
def test_03(self):
a = 1
b = 2
assert a == b
2.装载和生成报告
LoadAndReport.py
# coding = utf-8
import os
import unittest
import time
import HTMLTestRunner
# 装载目录
path = os.getcwd() # 获取当前工作路径
print(path)
discover = unittest.defaultTestLoader.discover(path, pattern='unittest*') # pattern 装载需要运行的case的python文件
# runner = unittest.TextTestRunner()
# runner.run(discover)
# 生成测试报告
report_path = os.getcwd() + '\\Report\\' + time.strftime('%Y-%m-%d %H%M%S') + '.html'
fp = open(report_path, 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fp, verbosity=1, title='这个测试报告', description='这是描述')
runner.run(discover)
fp.close()
3.生成的报告
4.unittest相关
- htmltestrunner.py要网上下载放到python/lib下。
- 装载用例的四种方法
- assert断言的使用:unittest之断言
- case之间尽量减少关联性,关联可用全局变量,数据库存取来实现
- 失败重跑,重构run方法和htmltestrunner文件:重跑并优化html