目录
框架简介
TestCase:测试用例,用类的方式,组织对一个功能的多项测试
Ficture:夹具,用来固定测试环境
TestSuite:测试套件,组织多个TestCase
TestRunner:测试执行,用来执行TestSuite,并且导出测试结果
其他:TestResult测试报告,TestLoader根据某一规则找到TestSuite
案例步骤
测试用例TestCase
1、创建测试类,需要继承unitest.TestCase
2、需要以test开头的示例方法,且不能有参数
3、执行测试(在pycharm中可以省略)
断言
用法:
1、assert逻辑表达式
2、assert逻辑表达式,字符串
说明
如果逻辑为真,则继续执行
如果逻辑为假,则抛出AssertionError,并包含字符串信息
断言实例
主测试作用
执行多个相似用例,多个参数多个断言时 ,前面输出错误继续执行下面测试用例
夹具fixture
通过固定环境,来确保测试正常。固定然后进行加工。
说明:
1、setup相关方法有异常,则测试和tearDown相关方法也不会执行
2、setup正常执行,不管测试是否有异常,tearDown相关方法都会执行
模块(连接与断开数据库等)
类级
实例
演示
TestSuite集体执行文件
用来自己组织待测试的内容和顺序
手工添加TestSuite
1、创建TestSuite对象:suite = unittest.TestSuite()
2、添加测试内容:suite.addTest() \ suite.addTests()
添加某个测试类的单个方法:suite.addTest(SomeTestCast类("someTestMethod方法"))
添加某个测试类的多个方法:suite.addTests(map(SomeTestCast,["someTestMethod1","someTestMethod2"......]))
添加测试类的所有方法
from unittest.loader import makeSuite
suite.add(makeSuite(someTestCast))
3、运行(一般会结合TestLoader使用)(以下方法不用)
result = unittest.TeatResult()
suite.run(result)
TestLoader创建TestSuite
作用:批量导入测试用例并执行
测试报告
通过安装扩展生成HTML报告
安装testRunner
cmd输入安装:pip install html-testRunner
执行测试,并生成报告(在TestSuite文件中)
import HtmlTestRunner
suite = unittest.defaultTestLoader.discover("./", pattern="test*") # 导入测试用例
runner = HtmlTestRunner.runner.HtmlTestRunner() # 执行生成html报告
runner.run(suite)
执行后自动生成报告,报告默认放在reports文件夹中,浏览器打开无法查看
查看报告