ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

自动化测试-5.unittest框架介绍

2022-06-27 21:04:56  阅读:159  来源: 互联网

标签:框架 unittest 用例 测试用例 自动化 test suite 执行


unittest框架介绍:

unittest是python系统自带的作为单元测试的测试框架,相当于java中的JUnit,unittest中有4个重要概念:test fixture, test case,test suite ,text runner 通过这四个模块,尅实现ui和接口自动化,我们要讲的内容也是通过这四个模块进行的,在这之前需要介绍下,unittest.main()

unittest.main():使用它可以方便的将一个单位测试模块变为可直接运行的测试脚本,main()方法使用TestLoader类来搜索所有包含在该模块中已“test”命名开头的测试方法,并自动执行他们。执行方法默认按照的顺序是:根据ascll码的顺序加载测试用例,数字和字母顺序为:0-9,A-Z,a-z,所以以A开头的测试用例方法会优先以a开头的用例方法

实际应用:

环境搭建:无需搭建,输入import unittest即可

四大组件:

1.test fixture:用于减少重复的工作,在进行请求时,很多请求都会打开或者关闭浏览器,这种时候,每次请求都会进行很多重复的操作,因此,test fixture就是为了解决这个问题出现的

Test Fixture用在测试方法前,或者测试方法后,主要功能是提供一些测试需要用的装置,这些装置可以是数据,可以是环境配置也可以是一个运行前状态

SetUp():unittest执行的前置条件,每次执行一个新的用例前都会先执行该方法下的内容

Teardown():unittest执行的后置条件,每次执行完一个新的用例后都会执行该方法下的内容

tearDownClass():在一个类里面只会执行一次,即使这个测试类有多个测试函数(相比较setup先执行)注意:只有在TestSuite的run方法里面才对其调用

SetUpClass():在一个类里面只会执行一次,即使这个测试类有多个测试函数(相比较teardown后执行)注意:只有在TestSuite的run方法里面才对其调用

 2.test case:测试用例,通过集成unittest.testcase来实现用例继承。在unittest中,测试用例都是通过test来识别的,用例没有test无法识别

如下图我们可以看到,用例中没有使用test,就无法识别

 3.test suite:测试套件,也称测试用例集,是测试用例、测试套件或两者组成的集合,用于组装一组要运行的测试。我们知道测试用例的执行顺序是根据测试用例名称顺序执行的,在不改变用例名称的情况下,我们怎么来控制用例执行的顺序呢?一个测试文件,我们直接执行该文件即可,但如果有多个测试文件,怎么进行组织,总不能一个个文件执行吧?为了解决这两个问题,test suite套件应运而生

要使用suite方法钱,首先要调用suite的类方法: unittest.TestSuite()

然后通过addTest()方法调用具体的用例,括号里面写类名,类括号里面写用例名字

然后运行我们选择的方法,套件通过TextTestRunnet方法运行,unittest.TextTestRunnet()

通过run()执行

 方法二:addTests()方法调用具体的用例,和上面一样,不过传入的是一个列表,列表里面写需要调用的用例

方法三:unittest.defaultTestLoader.discover() 通过目录执行指定文件内容

est_div="./" #先获取当前目录下所有文件

#通过变量discover=什么获取到文件,括号里面第一个参数是路径,第二个参数是我们要执行的文件名

discover=unittest.defaultTestLoader.discover(start_dir=test_div, pattern="duanyan.py")

 

方法四:执行模块中的某一个类

括号里面是文件模块名.后面是类名,如果不加类名,就是执行整个模块 suite.addTests(unittest.TestLoader().loadTestsFromName("duanyan.da")) load Tests From Name:从名称中加载测试 括号后面填写文件名.类名  

 4.unittest runner:运行器,前面已经讲了,一般通过runner来调用suite去执行,unittest框架的TextTestRunner()类,通过该类下面的run()方法运行suite所组装的测试用例,入参为suite测试套件

 

 

 

 

 

标签:框架,unittest,用例,测试用例,自动化,test,suite,执行
来源: https://www.cnblogs.com/wanggang199612/p/16416596.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有