Python之unittest测试框架(前后置清理工作)

本文介绍了Python的unittest测试框架,包括关键概念如TestSuite,TestLoader,TestRunner和测试报告生成。文章详细阐述了单元测试的步骤,前后置清理工作如setup和teardown,以及setupClass和teardownClass在测试类中的应用。此外,还讨论了自动化测试与手工测试的区别以及测试用例的组织结构。
摘要由CSDN通过智能技术生成

文章目录

  • 前言
  • 一、回顾单元测试框架
  • 二、单元测试框架步骤注意事项(TestSuite,TestLoader,TestRunner,unittestReport
  • 三、前后置清理工作(setup,teardown;setupclass,teardownclass)
  • 总结


前言

回归unittest测试框架里面的关键字信息,以及setup,teardown;setupclass,teardownclass的用法


一、回顾单元测试框架

1、python单元测试框架(代码版测试框架):
unittest; pytest  ;nose ; behave

2、只能做单元测试吗?No

开发人员自测    开发人员是实现业务功能:开发框架,函数/类   就会存在bug??
设计测试数据,调用自己开发的函数功能、类功能。
代码版测试框架:写用例、执行用例、看执行结果   编写测试代码

3、自动化测试和手工测试的区别:

自动化测试:代码版测试用例   --- 测试框架

测试框架必备的功能:

(1)编写用例 - unitest.TestCase、类名Test开头,用例名test_, 断言-self.assertXXXX / assert 表达式
(2)收集用例 - TestLoader(从多个用例文件里面去收集).discover(目录)-文件名以test开头, TestSuite
(3)执行用例、生成测试报告。对比期望与实际结果 - runner运行器。TextTestRunner
(4)查看测试报告

功能测试:

设计测试数据、写用例、执行用例、看执行结果

4、自动化测试的几个流程性的大类:

TestCase - 测试用例
TestSuite - 测试套件
TestLoader - 加载用例
TestRunner -  执行用例   TextTestRunner/HtmlTestRunner/BeautifulReport/unittestreport-测试报告
TestResult - 测试结果

assert 断言
AssertionError  断言失败

二、单元测试框架步骤注意事项

断言:期望结果与实际结果比对。 assert
     assert 实际与期望的比对表达式(True False)

1、导入unittest模块、被测文件或者其中的类
2、创建一个测试类,并继承unittest.TestCase
3、定义测试函数,函数名以test_开头(表示一个测试用例)。

4、测试用例中:
            4.1  测试数据、期望结果
            4.2  用例步骤
            4.3  断言


AssertionError: 断言失败的报错。
每条用例之间互不干扰。


用例的执行顺序:用例名称按照 ASCII码的大小规则:0~9<A~Z<a~z

(1)TestSuite
unittest.TestSuite()
均了解即可:
方法一:addTest(测试类名("用例名")) 添加一个测试用例
方法二:addTests([]) 添加一个测试用例的列表

(2)TestLoader
可通过类名、模块名、目录三种方式去收集用例。
方法一:目录(常用)
unittest.TestLoader().discover(搜索目录)     
默认在test*.py中搜索用例
请习惯以test_*.py风格

(3)# HtmlTestRunner

(4)# unittestReport: 
  查看地址:https://gitee.com/lemon-test-official(第三方开发的)

(5)# BeautifulReport
安装:pip install BeautifulReport
github: https://github.com/TesterlifeRaymond/BeautifulReport

手工测试中用例包含的要素:

1、用例标题
2、前置条件
3、执行步骤
4、测试数据
5、预期结果

优先级、模块名、编号、实际结果、复现概率、测试人员

Fixture(测试环境创建和销毁)

夹测试用例
前置和后置之间夹的是:一个测试用例(肉夹馍)
1、测试用例的准备工作:setup()
2、测试用例的清理工作:teardown()

夹测试类

前置和后置之间夹的是:一个测试类(汉堡包)
@classmethod
3、测试类的准备工作:setupClass()
4、测试类的清理工作:teardownClass()

三、前后置清理工作

1、setupClass   teardownClass

# 类下面的所有用例,只做一次准备工作,清理工作。
# 夹心饼干-夹了1个类   准备工作  类下面的所有用例全部完成  清理工作。

 

2、setup teardown

# 夹心饼干-夹了1个用例   准备工作 类下的第一个用例  清理工作
# 夹心饼干-夹了1个用例   准备工作 类下的第二个用例  清理工作
# 夹心饼干-夹了1个用例   准备工作 类下的第三个用例  清理工作
# 夹心饼干-夹了1个用例   准备工作 类下的第.......个用例  清理工作

 


 总结

暂无

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值