Unittest单元测试框架

Unittest介绍、单元测试用例的组织、测试用例的执行、测试用例的跳过

Unittest介绍

为什么要学习单元测试框架

测试用例的组织与运行需要单元测试框架的参与,从而满足不同测试场景的需要,单元测试框架提供了丰富的比较方法:实际结果与预期结果的对比==测试结果 单元测试框架提供了丰富的日志:给出测试用例失败与通过的数目及执行失败的原因

常见的单元测试框架有哪些

Doctest、unittest、pytest、nose等等

Java--》junit(testng)、C++--》 googleTest、c#--》nunit   xunit

Unittest核心组件

Testcase:一个 testcase 就是一个测试用例。Setup(测试环境的准备)、run(测试执行)、teardown(测试环境的还原)。 Testsuite(集合或套件):多个测试用例的集合就是 suite,一个suite可以包含多个测试用例,也可以嵌套 suite。 TestLoader:用来加载 testcase到testsuite 中的。 TestTestRunner:用例执行测试用例(run 方法),测试结果会保存在 TestTestresult 中。 fixture:一个测试用例环境的搭建和销毁。

Unittest单元测试用例的组织

构建单元测试用例 场景:以字符串替换举例

构建测试套件(优化测试用例)

单元测试用例的增多,在各个测试代码中会有很多相似的操作,考虑setUp(测试环境的准备)、tearDown(测试环境的还原)

组织多个测试用例(深度优化测试用例)

测试用例的继续优化:所有的测试用例不需要都用单独的类进行存放,该方式比较耗时,通过test开头的函数来存放测试用例。

构建测试套件

多个测试用例的集合就是suite,一个suite可以包含多个测试用例,也可以嵌套suite。

执行部分测试用例

执行某测试类下的全部测试用例,unittest模块中提供一个makesuite

 

 

多个测试类的控制

执行测试

首先将StringReplaceTestCase放在单独的一个py文件中StringReplace.py 将注释放在方法内,作为方法的说明。 执行部分测试用例,创建一个test_suite.py,用户控制测试用例的执行 运行全部测试用例。

测试用例的跳过

修改StringReplace文件,理解skip、skipif、skipunless

Unittest框架总结

setUp()方法用于测试用例执行前的初始化工作。如测试用 例中需要访问浏览器,可以在setUp中实例化浏览器驱动。 tearDown():tearDown()方法用于测试用例执行之后的善后工作、关 闭浏览器。

断言方法:在执行测试用例的过程中,最终用例是否执行通过,是通 过判断测试得到的实际结果和预期结果是否相等决定的。 assertEqual(a,b,[msg='测试失败时打印的信息']):断言a和b是否相等,相等则测试用例通 过。 assertNotEqual(a,b,[msg='测试失败时打印的信息']):断言a和b是否相等,不相等则测试 用例通过。 assertTrue(x,[msg='测试失败时打印的信息']):断言x是否True,是True则测试用例通过。

addTest(): 方法是将测试用例添加到测试套件中。 

run(): 方法是运行测试套件的测试用例,入参为suite测试套件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值