unittest进阶应用

unittest基本用法

python中相对比较流行的自动化测试框架UnitTest,PyUnit,在java中有一个叫做JUnit的测试框架,早期主要是用来做单元测试,随着更新,能够完整的结合selenium、appium、requests等实现ui自动化与接口自动化。

4大特点:

1、TestCase:测试用例,所有的用例都是直接继承于UnitTest.TestCase类

2、TestFixture:setUp和tearDown,,作为前置条件和后置条件

在执行用例前初始化工作,执行完用例后的资源的释放

3、TestSuite:测试套件

在做功能测试的时候会编写非常多的测试用例,在某些特定条件执行用例

TestRunner:测试运行器

测试用例放在测试套件后,调用测试运行器才能使用

4、断言:assert,在unittest中封装好了很多的成手断言,可以直接被调用

unittest环境搭建:

python安装时已经默认封装好了unittest框架,调用框架的时候只需要import即可

unittest语法规则:

1、unittest中,测试用例定义都是以test_开头

2、用例排序与写的顺序无关,排序是遵循A-Z,a-z,0-9识别:会将所有的测试用例识别,会将所有的测试用例的名字按照A-Z,a-z,0-9来排序,按照这个顺序执行

如图:

基于类的前置和后置条件@classmethod

基于用例的前置和后置条件

代码:

#导入unittest包
import unittest
classUnitDemo(unittest.TestCase):
#class前置条件了解
@classmethod
defsetUpClass(cls)->None:
print('setUpClass')
#class后置条件
@classmethod
deftearDownClass(cls)->None:
print('tearDownClass')

#前置条件
#->Noneunittest更新以后默认在调用**补全,可以去掉不影响
defsetUp(self)->None:
print('setUp')
#后置条件
deftearDown(self)->None:
print('tearDown')

#定义测试用例
deftest_1(self):
print('test_1')
deftest_2(self):
print('test_2')
if__name__=='__main__':
#运行unittest测试用例
#正常测试用例是前后关联的,如果不使用main函数调用,直接执行很可能会报错
unittest.main()

结果:

结合数据驱动@ddt一起使用

数据驱动应用_hxy的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习unittest进阶实践可以从以下几个方面去学习: 1. 测试用例的组织和管理:可以学习如何组织和管理测试用例,包括如何定义测试类和测试方法,如何使用装饰器来标记测试方法等。 2. 测试数据的管理:可以学习如何管理测试数据,包括如何使用setUp()和tearDown()方法来准备和清理测试数据,如何使用fixtures来管理测试数据等。 3. 测试覆盖率的分析:可以学习如何使用coverage工具来分析测试覆盖率,包括如何配置coverage工具,如何运行测试并生成测试覆盖率报告等。 4. 异常处理和断言:可以学习如何处理测试过程中的异常和错误,包括如何使用try-except语句来捕获异常,如何使用assert语句来断言测试结果等。 5. 参数化测试:可以学习如何使用参数化测试来减少测试代码的重复,包括如何使用参数化装饰器来定义测试数据,如何使用@pytest.mark.parametrize来运行参数化测试等。 6. Mock测试:可以学习如何使用Mock对象来模拟测试过程中的依赖,包括如何使用unittest.mock模块来创建Mock对象,如何使用Mock对象来替换依赖对象等。 7. 集成测试:可以学习如何进行集成测试,包括如何使用unittest框架来编写集成测试,如何使用Selenium等工具来进行Web应用程序的集成测试等。 通过学习以上几个方面,可以让你更加深入地了解unittest框架,提高测试代码的质量和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值